Binder\Binder_Expressions.cs (11)
4040var type = (ArrayTypeSymbol)BindArrayType(node.Type, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: true).Type;
4149var arrayType = ArrayTypeSymbol.CreateCSharpArray(Compilation.Assembly, TypeWithAnnotations.Create(bestType), rank);
4274ArrayTypeSymbol type,
4354ArrayTypeSymbol type,
4424ArrayTypeSymbol type,
4523var arrayType = (ArrayTypeSymbol)BindArrayType(arrayTypeSyntax, diagnostics, permitDimensions: true, basesBeingResolved: null, disallowRestrictedTypes: false).Type;
9668var 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)
154public override Symbol? VisitArrayType(ArrayTypeSymbol symbol)
167return ArrayTypeSymbol.CreateSZArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers));
170return ArrayTypeSymbol.CreateMDArray(_otherAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(otherElementType, otherModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
573private bool AreArrayTypesEqual(ArrayTypeSymbol type, ArrayTypeSymbol other)
764return AreArrayTypesEqual((ArrayTypeSymbol)type, (ArrayTypeSymbol)other);
866public override Symbol VisitArrayType(ArrayTypeSymbol symbol)
873return ArrayTypeSymbol.CreateSZArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers));
876return ArrayTypeSymbol.CreateMDArray(symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly, symbol.ElementTypeWithAnnotations.WithTypeAndModifiers(translatedElementType, translatedModifiers), symbol.Rank, symbol.Sizes, symbol.LowerBounds);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (13)
239ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType),
256var arrayType = collectionType as ArrayTypeSymbol;
295arrayType = ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType);
420arrayOrList = CreateEmptyArray(syntax, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType));
441SynthesizedReadOnlyListKind.Array => createArray(node, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType)),
458BoundExpression createArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
656private BoundExpression? TryOptimizeSingleSpreadToArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
718private BoundExpression CreateAndPopulateArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType)
788Debug.Assert(arrayTemp.Type is ArrayTypeSymbol);
792var elementType = ((ArrayTypeSymbol)arrayTemp.Type).ElementType;
857if (type is ArrayTypeSymbol { IsSZArray: true } arrayType
1352if (convertedExpression.Operand.Type is ArrayTypeSymbol arrayType)