Binder\Binder_Expressions.cs (11)
3978var type = (ArrayTypeSymbol)BindArrayType(node.Type, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: true).Type;
4087var arrayType = ArrayTypeSymbol.CreateCSharpArray(Compilation.Assembly, TypeWithAnnotations.Create(bestType), rank);
4212ArrayTypeSymbol type,
4292ArrayTypeSymbol type,
4362ArrayTypeSymbol type,
4461var arrayType = (ArrayTypeSymbol)BindArrayType(arrayTypeSyntax, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: false).Type;
9327var arrayType = (ArrayTypeSymbol)expr.Type;
CodeGen\EmitArrayInitializer.cs (9)
45private void EmitArrayInitializers(ArrayTypeSymbol arrayType, BoundArrayInitialization inits)
67private void EmitElementInitializers(ArrayTypeSymbol arrayType,
81private void EmitVectorElementInitializers(ArrayTypeSymbol arrayType,
134private void EmitMultidimensionalElementInitializers(ArrayTypeSymbol arrayType,
168private void EmitAllElementInitializersRecursive(ArrayTypeSymbol arrayType,
471ArrayTypeSymbol? arrayType = null;
479arrayType = (ArrayTypeSymbol)ac.Type;
632bool tryEmitAsCachedArrayFromBlob(NamedTypeSymbol spanType, BoundExpression wrappedExpression, int elementCount, ImmutableArray<byte> data, ref ArrayTypeSymbol arrayType, TypeSymbol elementType)
682bool tryEmitAsCachedArrayOfConstants(BoundArrayCreation arrayCreation, ArrayTypeSymbol arrayType, TypeSymbol elementType, NamedTypeSymbol spanType, bool used, BoundExpression? inPlaceTarget, out bool avoidInPlace)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (10)
147public override Symbol? VisitArrayType(ArrayTypeSymbol symbol)
160return ArrayTypeSymbol.CreateSZArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers));
163return ArrayTypeSymbol.CreateMDArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
566private bool AreArrayTypesEqual(ArrayTypeSymbol type, ArrayTypeSymbol other)
757return AreArrayTypesEqual((ArrayTypeSymbol)type, (ArrayTypeSymbol)other);
859public override Symbol VisitArrayType(ArrayTypeSymbol symbol)
866return ArrayTypeSymbol.CreateSZArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers));
869return ArrayTypeSymbol.CreateMDArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (13)
240ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType),
257var arrayType = collectionType as ArrayTypeSymbol;
296arrayType = ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType);
421arrayOrList = CreateEmptyArray(syntax, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType));
442SynthesizedReadOnlyListKind.Array => createArray(node, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType)),
459BoundExpression createArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
657private BoundExpression? TryOptimizeSingleSpreadToArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
719private BoundExpression CreateAndPopulateArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
789Debug.Assert(arrayTemp.Type is ArrayTypeSymbol);
793var elementType = ((ArrayTypeSymbol)arrayTemp.Type).ElementType;
858if (type is ArrayTypeSymbol { IsSZArray: true } arrayType
1353if (convertedExpression.Operand.Type is ArrayTypeSymbol arrayType)