1 instantiation of ArrayType
Microsoft.CSharp (1)
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeManager.cs (1)
79pArray = new ArrayType(elementType, args, isSZArray);
55 references to ArrayType
Microsoft.CSharp (55)
Microsoft\CSharp\RuntimeBinder\Errors\UserStringBuilder.cs (2)
467CType elementType = ((ArrayType)pType).BaseElementType; 474elementType is ArrayType arrType;
Microsoft\CSharp\RuntimeBinder\RuntimeBinder.cs (2)
525if (callingObjectType is ArrayType) 1145Debug.Assert(callingObject.Type is ArrayType);
Microsoft\CSharp\RuntimeBinder\Semantics\Conversions.cs (3)
114if (typeSrc is ArrayType arrSrc) 119if (typeDst is ArrayType arrDst) 155if (typeDst is ArrayType arrayDest && typeSrc is AggregateType aggtypeSrc)
Microsoft\CSharp\RuntimeBinder\Semantics\ExplicitConversion.cs (7)
144if (bindExplicitConversionToArray((ArrayType)_typeDest)) 238if (!(_typeSrc is ArrayType arrSrc) || !arrSrc.IsSZArray || !(_typeDest is AggregateType aggDest) 269private bool bindExplicitConversionFromIListToArray(ArrayType arrayDest) 310private bool bindExplicitConversionFromArrayToArray(ArrayType arraySrc, ArrayType arrayDest) 343private bool bindExplicitConversionToArray(ArrayType arrayDest) 348if (_typeSrc is ArrayType arrSrc)
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (5)
307ArrayType pArrayType = pOp1.Type as ArrayType; 1151CType arrayType = (ArrayType)TypeManager.SubstType(mp.Params[mp.Params.Count - 1], type, pTypeArgs); 1219if (!(substitutedArrayType is ArrayType subArr) || !subArr.IsSZArray) 1361if (!(type is ArrayType arr))
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (2)
493if ((_typeDest is ArrayType || 496(aggDest.TypeArgsAll[0] != ((ArrayType)_typeSrc).ElementType ||
Microsoft\CSharp\RuntimeBinder\Semantics\MethodTypeInferrer.cs (6)
818if (!(pSource is ArrayType pArraySource) || !(pDest is ArrayType pArrayDest)) 999if (!(pSource is ArrayType pArraySource)) 1007if (pDest is ArrayType pArrayDest) 1350if (!(pDest is ArrayType pArrayDest)) 1358if (pSource is ArrayType pArraySource)
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (2)
986else if (type1 is ArrayType) 994else if (type2 is ArrayType)
Microsoft\CSharp\RuntimeBinder\Semantics\SemanticChecker.cs (2)
40typeThru is ArrayType || 124typeThru is ArrayType ||
Microsoft\CSharp\RuntimeBinder\Semantics\Symbols\SymbolLoader.cs (5)
94private static bool HasCovariantArrayConversion(ArrayType pSource, ArrayType pDest) 121private static bool HasArrayConversionToInterface(ArrayType pSource, CType pDest) 247else if (pSource is ArrayType arrSource) 254if (pDest is ArrayType arrDest)
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExpressionTreeRewriter.cs (2)
339Expr pTypeOf = CreateTypeOf(((ArrayType)expr.Type).ElementType); 966ArrayType paramsArrayType = TypeManager.GetArray(paramsArrayElementType, 1, true);
Microsoft\CSharp\RuntimeBinder\Semantics\TypeBind.cs (1)
334Debug.Assert(typeBnd is AggregateType || typeBnd is TypeParameterType || typeBnd is ArrayType);
Microsoft\CSharp\RuntimeBinder\Semantics\Types\ArrayType.cs (1)
36while (type is ArrayType arr)
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeManager.cs (9)
67public static ArrayType GetArray(CType elementType, int args, bool isSZArray) 75ArrayType pArray = TypeTable.LookupArray(elementType, rankNum); 272var arr = (ArrayType)type; 382ArrayType arrSrc = (ArrayType)typeSrc; 383if (!(typeDst is ArrayType arrDst) || arrDst.Rank != arrSrc.Rank || arrDst.IsSZArray != arrSrc.IsSZArray) 641if (typeSrc is ArrayType arrSrc) 725private static bool TryArrayVarianceAdjustmentToGetAccessibleType(AggregateSymbol context, ArrayType typeSrc, out CType typeDst)
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeTable.cs (5)
54private static readonly Dictionary<KeyPair<CType, int>, ArrayType> s_arrayTable = 55new Dictionary<KeyPair<CType, int>, ArrayType>(); 82public static ArrayType LookupArray(CType elementType, int rankNum) 85s_arrayTable.TryGetValue(new KeyPair<CType, int>(elementType, rankNum), out ArrayType result); 89public static void InsertArray(CType elementType, int rankNum, ArrayType pArray)
Microsoft\CSharp\RuntimeBinder\SymbolTable.cs (1)
102if (type is ArrayType)