Binder\Binder_Expressions.cs (11)
4063var type = (ArrayTypeSymbol)BindArrayType(node.Type, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: true).Type;
4172var arrayType = ArrayTypeSymbol.CreateCSharpArray(Compilation.Assembly, TypeWithAnnotations.Create(bestType), rank);
4297ArrayTypeSymbol type,
4377ArrayTypeSymbol type,
4447ArrayTypeSymbol type,
4546var arrayType = (ArrayTypeSymbol)BindArrayType(arrayTypeSyntax, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: false).Type;
9697var 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,
469ArrayTypeSymbol? arrayType = null;
477arrayType = (ArrayTypeSymbol)ac.Type;
630bool tryEmitAsCachedArrayFromBlob(NamedTypeSymbol spanType, BoundExpression wrappedExpression, int elementCount, ImmutableArray<byte> data, ref ArrayTypeSymbol arrayType, TypeSymbol elementType)
680bool tryEmitAsCachedArrayOfConstants(BoundArrayCreation arrayCreation, ArrayTypeSymbol arrayType, TypeSymbol elementType, NamedTypeSymbol spanType, bool used, BoundExpression? inPlaceTarget, out bool avoidInPlace)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (10)
162public override Symbol? VisitArrayType(ArrayTypeSymbol symbol)
175return ArrayTypeSymbol.CreateSZArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers));
178return ArrayTypeSymbol.CreateMDArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
580private bool AreArrayTypesEqual(ArrayTypeSymbol type, ArrayTypeSymbol other)
771return AreArrayTypesEqual((ArrayTypeSymbol)type, (ArrayTypeSymbol)other);
873public override Symbol VisitArrayType(ArrayTypeSymbol symbol)
880return ArrayTypeSymbol.CreateSZArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers));
883return ArrayTypeSymbol.CreateMDArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (16)
231Debug.Assert(collectionType is ArrayTypeSymbol or NamedTypeSymbol);
233if (collectionType is ArrayTypeSymbol arrayType)
250ArrayTypeSymbol getBackingArrayType(NamedTypeSymbol collectionType)
257return ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType);
280var arrayType = getBackingArrayType(immutableArrayType);
339var arrayType = getBackingArrayType(spanType);
360BoundExpression createArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType, bool targetsReadOnlyCollection)
477arrayOrList = CreateEmptyArray(syntax, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType));
498SynthesizedReadOnlyListKind.Array => createArray(node, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType)),
515BoundExpression createArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
719private BoundExpression? TryOptimizeSingleSpreadToArray_NoConversionApplied(BoundCollectionExpression node, bool targetsReadOnlyCollection, ArrayTypeSymbol arrayType)
788private BoundExpression CreateAndPopulateArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
859Debug.Assert(arrayTemp.Type is ArrayTypeSymbol);
863var elementType = ((ArrayTypeSymbol)arrayTemp.Type).ElementType;
928if (type is ArrayTypeSymbol { IsSZArray: true } arrayType
1423if (convertedExpression.Operand.Type is ArrayTypeSymbol arrayType)