public static function arrayOf(IType $elementType) : ArrayType
    {
        $elementTypeString = $elementType->asTypeString();

        if (!isset(self::$arrays[$elementTypeString])) {
            self::$arrays[$elementTypeString] = new ArrayType($elementType);
        }

        return self::$arrays[$elementTypeString];
    }
public static function arrayOf(IType $elementType) : ArrayType
    {
        $elementTypeString = $elementType->asTypeString();

        if (!isset(self::$arrays[$elementTypeString])) {
            self::$arrays[$elementTypeString] = new ArrayType($elementType);
        }

        return self::$arrays[$elementTypeString];
    }
public static function arrayOf ( IType $ elementType ) : ArrayType { $ elementTypeString = $ elementType -> asTypeString ( ) ; if ( ! isset ( self :: $ arrays [ $ elementTypeString ] ) ) { self :: $ arrays [ $ elementTypeString ] = new ArrayType ( $ elementType ) ; } return self :: $ arrays [ $ elementTypeString ] ; }
The 'array' native type. Contains only elements of the supplied type.

@param IType $elementType

@return ArrayType
The array native type . Contains only elements of the supplied type .