2 types derived from ArrayTypeSymbol
Microsoft.CodeAnalysis.CSharp (2)
Symbols\ArrayTypeSymbol.cs (2)
510private sealed class SZArray : ArrayTypeSymbol 568private abstract class MDArray : ArrayTypeSymbol
400 references to ArrayTypeSymbol
Microsoft.CodeAnalysis.CSharp (257)
Binder\Binder_Attributes.cs (3)
925((ArrayTypeSymbol)type).ElementType.SpecialType == SpecialType.System_Object) 981var type = (ArrayTypeSymbol)node.Type;
Binder\Binder_Conversions.cs (2)
494if (source.Type is ArrayTypeSymbol) 580method.Parameters[0].Type is ArrayTypeSymbol { IsSZArray: true, ElementType: TypeParameterSymbol });
Binder\Binder_Crefs.cs (1)
740return ContainsNestedTypeOfUnconstructedGenericType(((ArrayTypeSymbol)type).ElementType);
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;
Binder\Binder_Invocation.cs (1)
1779if (collectionType is ArrayTypeSymbol { IsSZArray: true })
Binder\Binder_Statements.cs (2)
1268elementType = ((ArrayTypeSymbol)initializerType).ElementType; 1852(InitializerExpressionSyntax)node, (ArrayTypeSymbol)destinationType,
Binder\Binder_Symbols.cs (2)
677var array = ArrayTypeSymbol.CreateCSharpArray(this.Compilation.Assembly, type, rankSpecifier.Rank);
Binder\DecisionDagBuilder.cs (2)
1551while (expressionType is ArrayTypeSymbol array1 && 1552patternType is ArrayTypeSymbol array2 &&
Binder\ForEachLoopBinder.cs (1)
1323((ArrayTypeSymbol)collectionExprType).ElementTypeWithAnnotations;
Binder\Semantics\AccessCheck.cs (1)
152return IsSymbolAccessibleCore(((ArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck, compilation, ref useSiteInfo, basesBeingResolved);
Binder\Semantics\Conversions\ConversionsBase.cs (14)
1658if (destination is ArrayTypeSymbol arrayType) 2490var s = source as ArrayTypeSymbol; 2491var d = destination as ArrayTypeSymbol; 2540private bool HasArrayConversionToInterface(ArrayTypeSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2720var s = source as ArrayTypeSymbol; 3725var sourceArray = source as ArrayTypeSymbol; 3726var destinationArray = destination as ArrayTypeSymbol; 3959if (source is ArrayTypeSymbol { IsSZArray: true, ElementTypeWithAnnotations: { } elementType }) 4024if (source is ArrayTypeSymbol { IsSZArray: true, ElementTypeWithAnnotations: { } elementType } &&
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (12)
1717var arraySource = (ArrayTypeSymbol)source.Type; 1718var arrayTarget = (ArrayTypeSymbol)target.Type; 1772return type is ArrayTypeSymbol arraySource 2076private static TypeWithAnnotations GetMatchingElementType(ArrayTypeSymbol source, TypeSymbol target, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2084var arrayTarget = (ArrayTypeSymbol)target; 2129var arraySource = (ArrayTypeSymbol)source; 2568var arrayTarget = (ArrayTypeSymbol)target.Type;
Binder\Semantics\OverloadResolution\OverloadResolution.cs (5)
2791var arr1 = (ArrayTypeSymbol)t1; 2792var arr2 = (ArrayTypeSymbol)t2; 3229if (type is ArrayTypeSymbol { IsSZArray: true } arrayType)
CodeGen\EmitAddress.cs (2)
403if (((ArrayTypeSymbol)arrayAccess.Expression.Type).IsSZArray) 411_builder.EmitArrayElementAddress(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.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)
CodeGen\EmitExpression.cs (10)
1014if (((ArrayTypeSymbol)arrayAccess.Expression.Type).IsSZArray) 1101_builder.EmitArrayElementLoad(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.Type), arrayAccess.Expression.Syntax); 2390var arrayType = (ArrayTypeSymbol)expression.Type; 3125var arrayType = (ArrayTypeSymbol)array.Type; 3223private void EmitArrayElementStore(ArrayTypeSymbol arrayType, SyntaxNode syntaxNode) 3238private void EmitVectorElementStore(ArrayTypeSymbol arrayType, SyntaxNode syntaxNode) 4006return IsVarianceCast(((ArrayTypeSymbol)to).ElementType, ((ArrayTypeSymbol)from).ElementType);
Compilation\CSharpCompilation.cs (4)
2276var array = (ArrayTypeSymbol)firstType.Type; 2392internal ArrayTypeSymbol CreateArrayTypeSymbol(TypeSymbol elementType, int rank = 1, NullableAnnotation elementNullableAnnotation = NullableAnnotation.Oblivious) 2404return ArrayTypeSymbol.CreateCSharpArray(this.Assembly, TypeWithAnnotations.Create(elementType, elementNullableAnnotation), rank);
Compiler\ClsComplianceChecker.cs (6)
986return IsCompliantType(((ArrayTypeSymbol)type).ElementType, context); 1380ArrayTypeSymbol xArrayType = (ArrayTypeSymbol)xType; 1381ArrayTypeSymbol yArrayType = (ArrayTypeSymbol)yType; 1418private static bool IsArrayOfArrays(ArrayTypeSymbol arrayType)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
42public override object VisitArrayType(ArrayTypeSymbol symbol, StringBuilder builder)
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);
Emitter\Model\ArrayTypeSymbolAdapter.cs (2)
104internal ArrayTypeSymbolAdapter(ArrayTypeSymbol underlyingArrayTypeSymbol) 110internal ArrayTypeSymbol AdaptedArrayTypeSymbol { get; }
Emitter\Model\AttributeDataAdapter.cs (1)
123var arrayType = ((PEModuleBuilder)context.Module).Translate((ArrayTypeSymbol)argument.TypeInternal);
Emitter\Model\PEModuleBuilder.cs (6)
1148return Translate((ArrayTypeSymbol)typeSymbol); 1445internal Cci.IArrayTypeReference Translate(ArrayTypeSymbol symbol) 1579var byteArrayType = ArrayTypeSymbol.CreateSZArray(byteType.ContainingAssembly, TypeWithAnnotations.Create(byteType)); 1665var boolArray = ArrayTypeSymbol.CreateSZArray(booleanType.ContainingAssembly, TypeWithAnnotations.Create(booleanType));
Emitter\Model\SynthesizedPrivateImplementationDetailsStaticConstructor.cs (2)
50ArrayTypeSymbol payloadArrayType = (ArrayTypeSymbol)payloadRoot.Value.Type.GetInternalSymbol();
FlowAnalysis\DefiniteAssignment.cs (2)
907type is not ArrayTypeSymbol { IsSZArray: true, ElementType.SpecialType: SpecialType.System_Byte }) 2640MarkFieldsUsed(((ArrayTypeSymbol)type).ElementType);
FlowAnalysis\EmptyStructTypeCache.cs (1)
240type = ((ArrayTypeSymbol)type).BaseTypeNoUseSiteDiagnostics;
FlowAnalysis\NullableWalker.cs (5)
4798ArrayTypeSymbol arrayType => arrayType.ElementTypeWithAnnotations, 4875ArrayTypeSymbol arrayType => arrayType.WithElementType(inferredType), 5014var type = ResultType.Type as ArrayTypeSymbol; 11692else if (resultType is ArrayTypeSymbol arrayType)
FlowAnalysis\NullableWalker_Patterns.cs (1)
857: ((ArrayTypeSymbol)inputType).ElementTypeWithAnnotations,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
339var arrayType = (ArrayTypeSymbol)node.Type;
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
80var arrayType = (ArrayTypeSymbol)node.Type;
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (4)
33private readonly ArrayTypeSymbol _payloadType; 117_payloadType = ArrayTypeSymbol.CreateCSharpArray(methodBodyFactory.Compilation.Assembly, TypeWithAnnotations.Create(payloadElementType)); 252ArrayTypeSymbol modulePayloadType = 253ArrayTypeSymbol.CreateCSharpArray(_methodBodyFactory.Compilation.Assembly, TypeWithAnnotations.Create(_payloadType));
Lowering\LocalRewriter\LocalRewriter.cs (1)
844var elementType = ((ArrayTypeSymbol)node.Expression.Type).ElementTypeWithAnnotations;
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
1131optimized = CreateArrayEmptyCallIfAvailable(possibleParamsArray.Syntax, ((ArrayTypeSymbol)possibleParamsArray.Type!).ElementType); 1409private BoundExpression CreateEmptyArray(SyntaxNode syntax, ArrayTypeSymbol arrayType)
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)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
857return (type as ArrayTypeSymbol)?.ElementType.IsSealed == true;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
104var byteArray = ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, TypeWithAnnotations.Create(byteType)); 140private BoundArrayCreation MakeUnderlyingArrayForUtf8Span(SyntaxNode syntax, ArrayTypeSymbol byteArray, IReadOnlyList<byte> bytes, out int length) 624if (sourceType is ArrayTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
518ArrayTypeSymbol arrayType = (ArrayTypeSymbol)pinnedTemp.Type;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (6)
47ArrayTypeSymbol arrayType = (ArrayTypeSymbol)nodeExpressionType; 896ArrayTypeSymbol arrayType = (ArrayTypeSymbol)collectionExpression.Type; 1045ArrayTypeSymbol arrayType = (ArrayTypeSymbol)collectionExpression.Type;
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (2)
39var asArrayType = (ArrayTypeSymbol)rewrittenReceiverOpt.Type;
Lowering\SyntheticBoundNodeFactory.cs (4)
279Debug.Assert(!(receiverOpt is { Type: ArrayTypeSymbol { IsSZArray: true } } && 303public ArrayTypeSymbol WellKnownArrayType(WellKnownType elementType) 1185int rank = ((ArrayTypeSymbol)array.Type).Rank; 1198return new BoundArrayAccess(Syntax, array, indices, ((ArrayTypeSymbol)array.Type).ElementType);
Symbols\AbstractTypeMap.cs (5)
107result = SubstituteArrayType((ArrayTypeSymbol)previous); 184private ArrayTypeSymbol SubstituteArrayType(ArrayTypeSymbol t) 213return ArrayTypeSymbol.CreateSZArray( 219return ArrayTypeSymbol.CreateMDArray(
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (2)
211typeArgumentsBuilder.Add(((ArrayTypeSymbol)field.Type).ElementTypeWithAnnotations); 238var replacement = TypeWithAnnotations.Create(((ArrayTypeSymbol)lastParam.Type).WithElementType(original));
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (1)
138type = TypeWithAnnotations.Create(ArrayTypeSymbol.CreateSZArray(containingType.ContainingAssembly, type));
Symbols\ArrayTypeSymbol.cs (18)
37internal static ArrayTypeSymbol CreateCSharpArray( 50internal static ArrayTypeSymbol CreateMDArray( 66internal static ArrayTypeSymbol CreateMDArray( 76internal static ArrayTypeSymbol CreateSZArray( 83internal static ArrayTypeSymbol CreateSZArray( 91internal static ArrayTypeSymbol CreateSZArray( 98internal ArrayTypeSymbol WithElementType(TypeWithAnnotations elementTypeWithAnnotations) 103protected abstract ArrayTypeSymbol WithElementTypeCore(TypeWithAnnotations elementTypeWithAnnotations); 140internal bool HasSameShapeAs(ArrayTypeSymbol other) 174internal bool HasSameSizesAndLowerBoundsAs(ArrayTypeSymbol other) 346return this.Equals(t2 as ArrayTypeSymbol, comparison); 349private bool Equals(ArrayTypeSymbol? other, TypeCompareKind comparison) 381var cur = (ArrayTypeSymbol)current; 417TypeWithAnnotations elementType = ElementTypeWithAnnotations.MergeEquivalentTypes(((ArrayTypeSymbol)other).ElementTypeWithAnnotations, variance); 524protected override ArrayTypeSymbol WithElementTypeCore(TypeWithAnnotations newElementType) 614protected override ArrayTypeSymbol WithElementTypeCore(TypeWithAnnotations elementTypeWithAnnotations) 647protected override ArrayTypeSymbol WithElementTypeCore(TypeWithAnnotations elementTypeWithAnnotations)
Symbols\AssemblySymbol.cs (1)
767return ArrayTypeSymbol.CreateCSharpArray(this, TypeWithAnnotations.Create(symbol), rank);
Symbols\Attributes\SourceAttributeData.cs (1)
320specType = ((ArrayTypeSymbol)parameterType).ElementType.SpecialType;
Symbols\Compilation_WellKnownMembers.cs (11)
791var boolArray = ArrayTypeSymbol.CreateSZArray(booleanType.ContainingAssembly, TypeWithAnnotations.Create(booleanType)); 808var stringArray = ArrayTypeSymbol.CreateSZArray(stringType.ContainingAssembly, TypeWithAnnotations.Create(stringType)); 951HandleCustomModifiers(((ArrayTypeSymbol)type).ElementTypeWithAnnotations.CustomModifiers.Length, transformFlagsBuilder); 1079ArrayTypeSymbol array = (ArrayTypeSymbol)type; 1164ArrayTypeSymbol array = (ArrayTypeSymbol)type; 1222ArrayTypeSymbol array = (ArrayTypeSymbol)type;
Symbols\Metadata\PE\DynamicTypeDecoder.cs (5)
164return TransformArrayType((ArrayTypeSymbol)type); 302private ArrayTypeSymbol TransformArrayType(ArrayTypeSymbol arrayType) 321ArrayTypeSymbol.CreateSZArray(_containingAssembly, arrayType.ElementTypeWithAnnotations.WithTypeAndModifiers(transformedElementType, arrayType.ElementTypeWithAnnotations.CustomModifiers)) : 322ArrayTypeSymbol.CreateMDArray(_containingAssembly, arrayType.ElementTypeWithAnnotations.WithTypeAndModifiers(transformedElementType, arrayType.ElementTypeWithAnnotations.CustomModifiers), arrayType.Rank, arrayType.Sizes, arrayType.LowerBounds);
Symbols\Metadata\PE\MetadataDecoder.cs (1)
222return IsOrClosedOverATypeFromAssemblies(((ArrayTypeSymbol)symbol).ElementType, assemblies);
Symbols\Metadata\PE\NativeIntegerTypeDecoder.cs (3)
87return TransformArrayType((ArrayTypeSymbol)type); 153private ArrayTypeSymbol? TransformArrayType(ArrayTypeSymbol type)
Symbols\Metadata\PE\SymbolFactory.cs (2)
26return ArrayTypeSymbol.CreateMDArray(moduleSymbol.ContainingAssembly, CreateType(elementType, customModifiers), rank, sizes, lowerBounds); 71return ArrayTypeSymbol.CreateSZArray(moduleSymbol.ContainingAssembly, CreateType(elementType, customModifiers));
Symbols\Metadata\PE\TupleTypeDecoder.cs (3)
197return DecodeArrayType((ArrayTypeSymbol)type); 334private ArrayTypeSymbol DecodeArrayType(ArrayTypeSymbol type)
Symbols\PublicModel\ArrayTypeSymbol.cs (2)
14private readonly Symbols.ArrayTypeSymbol _underlying; 17public ArrayTypeSymbol(Symbols.ArrayTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\Retargeting\RetargetingSymbolTranslator.cs (6)
651return IsOrClosedOverAnExplicitLocalType(((ArrayTypeSymbol)symbol).ElementType); 695public ArrayTypeSymbol Retarget(ArrayTypeSymbol type) 707return ArrayTypeSymbol.CreateSZArray(this.RetargetingAssembly, newElement); 710return ArrayTypeSymbol.CreateMDArray(this.RetargetingAssembly, newElement, type.Rank, type.Sizes, type.LowerBounds); 1334public override Symbol VisitArrayType(ArrayTypeSymbol symbol, RetargetOptions options)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
1443static (m, systemType) => m is FieldSymbol { Type: ArrayTypeSymbol { ElementType: NamedTypeSymbol elementType } } && elementType.Equals(systemType, TypeCompareKind.ConsiderEverything),
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (4)
200else if (type is ArrayTypeSymbol array) 312static void appendArrayType(ArrayTypeSymbol array, StringBuilder builder) 507else if (type is ArrayTypeSymbol array) 724static void appendArrayType(ArrayTypeSymbol array, StringBuilder builder)
Symbols\SymbolDistinguisher.cs (1)
151symbol = ((ArrayTypeSymbol)symbol).ElementType;
Symbols\SymbolExtensions.cs (1)
652internal static IArrayTypeSymbol? GetPublicSymbol(this ArrayTypeSymbol? symbol)
Symbols\SymbolVisitor.cs (1)
30public virtual void VisitArrayType(ArrayTypeSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
30public virtual TResult VisitArrayType(ArrayTypeSymbol symbol)
Symbols\SymbolVisitor`2.cs (2)
100/// Called when visiting an <see cref="ArrayTypeSymbol" />; Override this with specific 106public virtual TResult VisitArrayType(ArrayTypeSymbol symbol, TArgument argument)
Symbols\Synthesized\SynthesizedEmbeddedNativeIntegerAttributeSymbol.cs (1)
33ArrayTypeSymbol.CreateSZArray(
Symbols\Synthesized\SynthesizedEmbeddedNullableAttributeSymbol.cs (1)
37ArrayTypeSymbol.CreateSZArray(
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (1)
34var submissionArrayType = compilation.CreateArrayTypeSymbol(systemObject);
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (1)
58ArrayTypeSymbol.CreateCSharpArray(compilation.Assembly,
Symbols\Synthesized\SynthesizedSubmissionConstructor.cs (1)
24var submissionArrayType = compilation.CreateArrayTypeSymbol(compilation.GetSpecialType(SpecialType.System_Object));
Symbols\TypeSymbolExtensions.cs (7)
270var arrayType = (ArrayTypeSymbol)type; 376return type.TypeKind == TypeKind.Array && ((ArrayTypeSymbol)type).IsSZArray; 924next = ((ArrayTypeSymbol)current).ElementTypeWithAnnotations; 1930var arrayType = (ArrayTypeSymbol)type; 2020private static bool NormalizeTaskTypesInArray(CSharpCompilation compilation, ref ArrayTypeSymbol arrayType)
Symbols\TypeUnification.cs (5)
118ArrayTypeSymbol at1 = (ArrayTypeSymbol)t1.Type; 119ArrayTypeSymbol at2 = (ArrayTypeSymbol)t2.Type; 270return Contains(((ArrayTypeSymbol)type).ElementType, typeParam);
Symbols\TypeWithAnnotations.cs (1)
657typeWithAnnotations = ((ArrayTypeSymbol)type).ElementTypeWithAnnotations;
Symbols\VarianceSafety.cs (1)
335return IsVarianceUnsafe(((ArrayTypeSymbol)type).ElementType, requireOutputSafety, requireInputSafety, context, locationProvider, locationArg, diagnostics);
Utilities\TypeSymbolExtensions.cs (4)
33var array = (ArrayTypeSymbol)type; 99var array = (ArrayTypeSymbol)type;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (8)
CodeGen\CodeGenFunctionPointersTests.cs (2)
7078var array = (ArrayTypeSymbol)type;
Emit\EmitMetadataTests.cs (6)
432var method1Ret = (ArrayTypeSymbol)m1.ReturnType; 433var method2Ret = (ArrayTypeSymbol)m2.ReturnType; 434var method3Ret = (ArrayTypeSymbol)m3.ReturnType;
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (4)
Emit\EditAndContinue\SymbolMatcherTests.cs (4)
195Assert.Equal(1, ((ArrayTypeSymbol)member1.ReturnType).ElementTypeWithAnnotations.CustomModifiers.Length); 202Assert.Equal(1, ((ArrayTypeSymbol)other.ReturnType).ElementTypeWithAnnotations.CustomModifiers.Length); 346var member = compilation1.CreateArrayTypeSymbol(elementType); 377var member = compilation1.CreateArrayTypeSymbol(elementType);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (12)
Attributes\AttributeTests.cs (12)
5494var typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(classW)); 5499typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(classW), rank: 2); 5504typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(classW)); 5505typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(typeArg), rank: 2); 5511typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(classYOfW), rank: 2); 5512typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(typeArg)); 5519typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(substNestedF), rank: 3); 5520typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(typeArg)); 5521typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(typeArg), rank: 2); 5527typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(substNestedZ)); 5528typeArg = ArrayTypeSymbol.CreateCSharpArray(m.ContainingAssembly, TypeWithAnnotations.Create(typeArg), rank: 2);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (38)
Semantics\ImplicitlyTypeArraysTests.cs (2)
42var localA = (ArrayTypeSymbol)locDecl.DeclaredTypeOpt.Display;
Semantics\InheritanceBindingTests.cs (4)
8470Assert.True(((ArrayTypeSymbol)c2Goo.Parameters[0].Type).ElementType.IsNullableType()); 8554Assert.True(((ArrayTypeSymbol)c2Goo.ReturnType).ElementType.IsNullableType()); 8628Assert.True(((ArrayTypeSymbol)dGoo.Parameters[0].Type).ElementType.IsNullableType()); 8697Assert.True(((ArrayTypeSymbol)dGoo.ReturnType).ElementType.IsNullableType());
Semantics\MultiDimensionalArrayTests.cs (22)
535var szArray = (ArrayTypeSymbol)m2.Parameters.First().Type; 542var mdArray = (ArrayTypeSymbol)m2.Parameters.Last().Type; 1093var array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test1").ReturnType; 1100array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test2").ReturnType; 1107array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test3").ReturnType; 1114array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test4").ReturnType; 1121array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test5").ReturnType; 1128array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test6").ReturnType; 1135array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test7").ReturnType; 1142array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test8").ReturnType; 1149array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test9").ReturnType; 1156array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test10").ReturnType; 1163array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test11").ReturnType; 1170array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test12").ReturnType; 1177array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test13").ReturnType; 1184array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test14").ReturnType; 1191array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test15").ReturnType; 1198array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test16").ReturnType; 1205array = (ArrayTypeSymbol)test.GetMember<MethodSymbol>("Test17").ReturnType;
Semantics\NullableReferenceTypesTests.cs (8)
139519Assert.True(((ArrayTypeSymbol)c2Goo.Parameters[0].Type).ElementType.IsReferenceType); 139520Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)c2Goo.Parameters[0].Type).ElementTypeWithAnnotations.NullableAnnotation); 139607Assert.True(((ArrayTypeSymbol)c2Goo.ReturnType).ElementType.IsReferenceType); 139608Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)c2Goo.ReturnType).ElementTypeWithAnnotations.NullableAnnotation); 139685Assert.True(((ArrayTypeSymbol)dGoo.Parameters[0].Type).ElementType.IsReferenceType); 139686Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)dGoo.Parameters[0].Type).ElementTypeWithAnnotations.NullableAnnotation); 139758Assert.True(((ArrayTypeSymbol)dGoo.ReturnType).ElementType.IsReferenceType); 139759Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)dGoo.ReturnType).ElementTypeWithAnnotations.NullableAnnotation);
Semantics\Utf8StringsLiteralsTests.cs (2)
637var type = (ArrayTypeSymbol)p.Type;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (77)
Symbols\CompilationCreationTests.cs (3)
97var arrayOfc107 = ArrayTypeSymbol.CreateCSharpArray(c1.Assembly, TypeWithAnnotations.Create(c107)); 2358Assert.Equal(2, ((ArrayTypeSymbol)x1.Type).Rank);
Symbols\ExtendedPartialMethodsTests.cs (2)
3047var array = (ArrayTypeSymbol)type;
Symbols\ExtensionMethodTests.cs (2)
2528var arrayType = ArrayTypeSymbol.CreateCSharpArray(compilation.Assembly, TypeWithAnnotations.Create(stringType), 1);
Symbols\Metadata\MetadataTypeTests.cs (4)
294var type2 = (type1.GetMembers("m_eventData").Single() as FieldSymbol).Type as ArrayTypeSymbol; 298var type3 = (member2.Parameters[2] as ParameterSymbol).Type as ArrayTypeSymbol;
Symbols\Metadata\PE\DynamicTransformsTests.cs (38)
76var arrayOfT = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(t)); 80var arrayOfInnerInnerOfInt = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(memberInnerInnerOfInt)); 135var arrayOfDynamic = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(s_dynamicType), 1); 140var arrayOfArrayOfDynamic = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(arrayOfDynamic), 1); 222var complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 233complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 234var complicatedInnerInnerArrayOfArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInnerArray), 1); 240var arrayOfDerivedTypeParam = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(derivedTypeParam), 1); 246complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 252complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 253complicatedInnerInnerArrayOfArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInnerArray), 1); 280var arrayOfDynamic = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(s_dynamicType)); 286var arrayOfDerivedTypeParam = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(derivedTypeParam)); 294var complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner)); 300complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner)); 301var complicatedInnerInnerArrayOfArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInnerArray)); 334var arrayOfDerivedTypeParam = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(unsafeClassTypeParam), 1); 341var arrayOfPointerToInt = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(pointerToInt), 1); 343var arrayOfArrayOfPointerToInt = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(arrayOfPointerToInt), 1); 347var complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 353complicatedInnerInnerArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInner), 1); 354var complicatedInnerInnerArrayOfArray = ArrayTypeSymbol.CreateCSharpArray(_assembly, TypeWithAnnotations.Create(complicatedInnerInnerArray), 1);
Symbols\Metadata\PE\LoadCustomModifiers.cs (4)
88ArrayTypeSymbol p5Type = (ArrayTypeSymbol)p5.Type; 169var arrayPropertyType = (ArrayTypeSymbol)propertyType;
Symbols\Metadata\PE\NoPiaInstantiationOfGenericClassAndStruct.cs (2)
490Assert.Equal(SymbolKind.ErrorType, ((ArrayTypeSymbol)localField.Type).ElementType.Kind); 506Assert.True(localField.Type is ArrayTypeSymbol);
Symbols\MockSymbolTests.cs (6)
28ArrayTypeSymbol ats1 = ArrayTypeSymbol.CreateCSharpArray(compilation.Assembly, TypeWithAnnotations.Create(elementType), rank: 1); 37ArrayTypeSymbol ats2 = ArrayTypeSymbol.CreateCSharpArray(compilation.Assembly, TypeWithAnnotations.Create(elementType), rank: 2); 45ArrayTypeSymbol ats3 = ArrayTypeSymbol.CreateCSharpArray(compilation.Assembly, TypeWithAnnotations.Create(elementType), rank: 3);
Symbols\Retargeting\RetargetCustomModifiers.cs (2)
97ArrayTypeSymbol p5Type = (ArrayTypeSymbol)p5.Type;
Symbols\Source\BaseClassTests.cs (4)
1342var carr1 = garg as ArrayTypeSymbol; 1343var carr2 = carr1.ElementType as ArrayTypeSymbol;
Symbols\Source\CustomModifierCopyTests.cs (4)
450CheckCustomModifier(inReturnType, ((ArrayTypeSymbol)method.ReturnType).ElementTypeWithAnnotations.CustomModifiers); 455CheckCustomModifier(inParameterType, ((ArrayTypeSymbol)method.Parameters.Single().Type).ElementTypeWithAnnotations.CustomModifiers); 468CheckCustomModifier(inType, ((ArrayTypeSymbol)property.Type).ElementTypeWithAnnotations.CustomModifiers); 2131var comparisonType = isArrayType ? ((ArrayTypeSymbol)paramType).ElementType : paramType;
Symbols\Source\ModifierTests.cs (4)
159var arrayType = ArrayTypeSymbol.CreateCSharpArray(comp.Assembly, TypeWithAnnotations.Create(typeParamType, customModifiers: customModifiers)); // This is legal, but we're already manually constructing types. 164var substitutedArrayType = (ArrayTypeSymbol)typeMap.SubstituteType(arrayType).AsTypeSymbolOnly();
Symbols\TypedConstantTests.cs (1)
23private readonly ArrayTypeSymbol _arrayType;
Symbols\TypeTests.cs (1)
1582Assert.Same(comp.GetSpecialType(SpecialType.System_Single), (memType as ArrayTypeSymbol).ElementType.GetNullableUnderlyingType());
Microsoft.CodeAnalysis.CSharp.Test.Utilities (4)
Extensions.cs (2)
521var arySym = (ArrayTypeSymbol)typeSym;
FunctionPointerUtilities.cs (1)
344arrayTypeVerifier(((ArrayTypeSymbol)typeSymbol).ElementType);
UsesIsNullableVisitor.cs (1)
184return UsesIsNullable(((ArrayTypeSymbol)type).ElementTypeWithAnnotations, inProgress);