4 implementations of IArrayTypeSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationArrayTypeSymbol.cs (1)
10internal class CodeGenerationArrayTypeSymbol : CodeGenerationTypeSymbol, IArrayTypeSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\ArrayTypeSymbol.cs (1)
12internal sealed class ArrayTypeSymbol : TypeSymbol, IArrayTypeSymbol
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\ArrayTypeSymbol.vb (1)
20Implements IArrayTypeSymbol
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationArrayTypeSymbol.cs (1)
10internal class CodeGenerationArrayTypeSymbol : CodeGenerationTypeSymbol, IArrayTypeSymbol
257 references to IArrayTypeSymbol
Microsoft.CodeAnalysis (9)
Compilation\Compilation.cs (4)
1057public IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation elementNullableAnnotation = NullableAnnotation.None) 1067public IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank) 1072protected abstract IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation elementNullableAnnotation); 1685s = ((IArrayTypeSymbol)s).ElementType;
DocumentationCommentId.cs (1)
585public override bool VisitArrayType(IArrayTypeSymbol symbol)
Symbols\IArrayTypeSymbol.cs (1)
62bool Equals(IArrayTypeSymbol? other);
Symbols\SymbolVisitor.cs (1)
23public virtual void VisitArrayType(IArrayTypeSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
26public virtual TResult? VisitArrayType(IArrayTypeSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
31public virtual TResult VisitArrayType(IArrayTypeSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.CodeStyle (23)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
28public override bool VisitArrayType(IArrayTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (1)
99return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.cs (5)
315IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 342case IArrayTypeSymbol arrayType: 546if (t1 is IArrayTypeSymbol arr1) 548var arr2 = (IArrayTypeSymbol)t2;
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
21public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
118SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 141private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
SymbolKey.ArrayTypeSymbolKey.cs (4)
9private sealed class ArrayTypeSymbolKey : AbstractSymbolKey<IArrayTypeSymbol> 13public sealed override void Create(IArrayTypeSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IArrayTypeSymbol? contextualSymbol, out string? failureReason) 31using var result = PooledArrayBuilder<IArrayTypeSymbol>.GetInstance(elementTypeResolution.SymbolCount);
SymbolKey.cs (3)
24/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 25/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 26/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
SymbolKey.SymbolKeyWriter.cs (1)
326public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis.CodeStyle.Fixes (6)
AbstractAddParameterCodeFixProvider.cs (1)
519if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
98if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
CodeGenerationArrayTypeSymbol.cs (1)
74public bool Equals(IArrayTypeSymbol? other)
CodeGenerationSymbolFactory.cs (1)
355public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
Fixer.cs (1)
155&& parameterType is IArrayTypeSymbol paramsType
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
35public override void VisitArrayType(IArrayTypeSymbol symbol)
Microsoft.CodeAnalysis.CSharp (18)
Compilation\CSharpCompilation.cs (1)
3715protected override IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, CodeAnalysis.NullableAnnotation elementNullableAnnotation)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (6)
21public override void VisitArrayType(IArrayTypeSymbol symbol) 27private void VisitArrayTypeWithoutNullability(IArrayTypeSymbol symbol) 55underlyingType = ((IArrayTypeSymbol)underlyingType).ElementType; 61var arrayType = symbol; 70arrayType = arrayType.ElementType as IArrayTypeSymbol; 107private void AddArrayRank(IArrayTypeSymbol symbol)
Symbols\PublicModel\ArrayTypeSymbol.cs (9)
35int IArrayTypeSymbol.Rank => _underlying.Rank; 37bool IArrayTypeSymbol.IsSZArray => _underlying.IsSZArray; 39ImmutableArray<int> IArrayTypeSymbol.LowerBounds => _underlying.LowerBounds; 41ImmutableArray<int> IArrayTypeSymbol.Sizes => _underlying.Sizes; 43ITypeSymbol IArrayTypeSymbol.ElementType 56CodeAnalysis.NullableAnnotation IArrayTypeSymbol.ElementNullableAnnotation 64ImmutableArray<CustomModifier> IArrayTypeSymbol.CustomModifiers => _underlying.ElementTypeWithAnnotations.CustomModifiers; 66bool IArrayTypeSymbol.Equals(IArrayTypeSymbol? other)
Symbols\SymbolExtensions.cs (2)
659internal static IArrayTypeSymbol? GetPublicSymbol(this ArrayTypeSymbol? symbol) 661return symbol.GetPublicSymbol<IArrayTypeSymbol>();
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
CSharpTypeStyleHelper.State.cs (1)
114if (type is IArrayTypeSymbol arrayType)
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
78if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (14)
CSharpChangeToIEnumerableCodeFixProvider.cs (1)
66else if (arity == 0 && type is IArrayTypeSymbol arrayType)
CSharpTypeInferenceService.TypeInferrer.cs (9)
694DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 830return outerTypes.Where(o => o.InferredType is IArrayTypeSymbol); 858currentTypes = currentTypes.Select(t => t.InferredType).OfType<IArrayTypeSymbol>() 1391var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1415if (types.Any(t => t is IArrayTypeSymbol)) 1417return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1425if (types.Any(t => t is IArrayTypeSymbol)) 1427return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
58public override TypeSyntax VisitArrayType(IArrayTypeSymbol symbol) 64while (underlyingType is IArrayTypeSymbol innerArray) 91var arrayType = symbol; 97arrayType = arrayType.ElementType as IArrayTypeSymbol;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (3)
CodeGen\CodeGenTupleTest.cs (3)
14304var m3TupleArray = (IArrayTypeSymbol)test.GetMember<IMethodSymbol>("M3").ReturnType; 14314m3TupleArray = (IArrayTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType;
Microsoft.CodeAnalysis.CSharp.Features (6)
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (1)
198typeSymbol = ((IArrayTypeSymbol)typeInferenceInfo.InferredType).ElementType;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
121if (type is IArrayTypeSymbol arrayType)
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (1)
110if (isParams && type is IArrayTypeSymbol arrayType)
CSharpChangeToIEnumerableCodeFixProvider.cs (1)
66else if (arity == 0 && type is IArrayTypeSymbol arrayType)
SignatureHelp\AbstractCSharpSignatureHelpProvider.LightweightOverloadResolution.cs (1)
164&& type is IArrayTypeSymbol arrayType
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
78if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (5)
Semantics\MultiDimensionalArrayTests.cs (4)
1681var a1 = (IArrayTypeSymbol)p.GetMember<MethodSymbol>("Test1").GetAttributes().Single().ConstructorArguments.Single().Value; 1686var a2 = (IArrayTypeSymbol)p.GetMember<MethodSymbol>("Test2").GetAttributes().Single().ConstructorArguments.Single().Value;
Semantics\RefLocalsAndReturnsTests.cs (1)
4360Assert.Equal(SpecialType.System_Int32, ((IArrayTypeSymbol)model.GetTypeInfo(left).Type).ElementType.SpecialType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (11)
Compilation\CompilationAPITests.cs (1)
2464var arrayType = comp.CreateArrayTypeSymbol(elementType);
Compilation\GetSemanticInfoTests.cs (2)
1918var arrayType = (IArrayTypeSymbol)bindInfo.Symbol;
Compilation\SemanticModelAPITests.cs (1)
708Assert.Equal(compilation.GetSpecialType(SpecialType.System_String), (info.Symbol as IArrayTypeSymbol).ElementType);
Compilation\SemanticModelGetSemanticInfoTests.cs (1)
6229Assert.Equal(SpecialType.System_String, ((IArrayTypeSymbol)semanticInfo.Type).ElementType.SpecialType);
Compilation\SymbolVisitorTests.cs (3)
50public override void VisitArrayType(IArrayTypeSymbol symbol) 220public override string VisitArrayType(IArrayTypeSymbol symbol) 479public override int VisitArrayType(IArrayTypeSymbol symbol, StringBuilder argument)
Symbols\Source\NullablePublicAPITests.cs (3)
54var arrayTypes = arrayAccesses.Select(arr => model.GetTypeInfoAndVerifyIOperation(arr.Expression).Type).Cast<IArrayTypeSymbol>().ToList(); 694var array = (IArrayTypeSymbol)method.ReturnType;
Microsoft.CodeAnalysis.CSharp.Workspaces (14)
CSharpTypeInferenceService.TypeInferrer.cs (9)
694DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 830return outerTypes.Where(o => o.InferredType is IArrayTypeSymbol); 858currentTypes = currentTypes.Select(t => t.InferredType).OfType<IArrayTypeSymbol>() 1391var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1415if (types.Any(t => t is IArrayTypeSymbol)) 1417return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1425if (types.Any(t => t is IArrayTypeSymbol)) 1427return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
CSharpTypeStyleHelper.State.cs (1)
114if (type is IArrayTypeSymbol arrayType)
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
58public override TypeSyntax VisitArrayType(IArrayTypeSymbol symbol) 64while (underlyingType is IArrayTypeSymbol innerArray) 91var arrayType = symbol; 97arrayType = arrayType.ElementType as IArrayTypeSymbol;
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (1)
CodeGeneration\SyntaxGeneratorTests.cs (1)
319var arrayType = _emptyCompilation.CreateArrayTypeSymbol(_emptyCompilation.GetSpecialType(SpecialType.System_Int32));
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
49public sealed override void VisitArrayType(IArrayTypeSymbol symbol)
Microsoft.CodeAnalysis.Features (23)
AbstractAddParameterCodeFixProvider.cs (1)
519if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
Completion\Providers\AbstractObjectCreationCompletionProvider.cs (2)
60var isArray = type is IArrayTypeSymbol; 61while (type is IArrayTypeSymbol arrayType)
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.SymbolComputer.cs (2)
534case IArrayTypeSymbol arrayType: 536while (elementType is IArrayTypeSymbol symbol)
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
216if (collectionType is IArrayTypeSymbol array)
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (2)
249if (collectionType is IArrayTypeSymbol arrayType) 504if (collectionType is IArrayTypeSymbol arrayType)
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (1)
84if (lastArgumentType is IArrayTypeSymbol)
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
43public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
Fixer.cs (1)
155&& parameterType is IArrayTypeSymbol paramsType
GenerateMember\GenerateConstructor\AbstractGenerateConstructorService.State.cs (2)
362var arrayType = (IArrayTypeSymbol)type;
GenerateMember\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
56public override ValueTask VisitArrayType(IArrayTypeSymbol symbol)
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
511&& parameterSymbol.Type is IArrayTypeSymbol paramArrayParameter
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
29public override void VisitArrayType(IArrayTypeSymbol symbol)
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
26public override bool VisitArrayType(IArrayTypeSymbol symbol)
RQName\RQNodeBuilder.cs (1)
279else if (symbol is IArrayTypeSymbol arrayType)
Shared\Extensions\ISymbolExtensions_Sorting.cs (1)
47IArrayTypeSymbol arrayType => GetNamedType(arrayType.ElementType),
StackTraceExplorer\AbstractStackTraceSymbolResolver.cs (3)
41if (type is IArrayTypeSymbol arrayType) 57if (currentType is not IArrayTypeSymbol currentArrayType) 72if (currentType is IArrayTypeSymbol)
Microsoft.CodeAnalysis.Test.Utilities (1)
Diagnostics\EmptyArrayAnalyzer.cs (1)
73var elementType = (arrayCreation as IArrayTypeSymbol)?.ElementType;
Microsoft.CodeAnalysis.VisualBasic (15)
Compilation\VisualBasicCompilation.vb (1)
2824Protected Overrides Function CommonCreateArrayTypeSymbol(elementType As ITypeSymbol, rank As Integer, elementNullableAnnotation As NullableAnnotation) As IArrayTypeSymbol
SymbolDisplay\SymbolDisplayVisitor.Types.vb (5)
10Public Overrides Sub VisitArrayType(symbol As IArrayTypeSymbol) 31underlyingNonArrayType = DirectCast(underlyingNonArrayType, IArrayTypeSymbol).ElementType 36Dim arrayType As IArrayTypeSymbol = symbol 41arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol) 45Private Sub AddArrayRank(symbol As IArrayTypeSymbol)
Symbols\ArrayTypeSymbol.vb (9)
395Private ReadOnly Property IArrayTypeSymbol_ElementType As ITypeSymbol Implements IArrayTypeSymbol.ElementType 401Private ReadOnly Property IArrayTypeSymbol_ElementNullableAnnotation As NullableAnnotation Implements IArrayTypeSymbol.ElementNullableAnnotation 407Private ReadOnly Property IArrayTypeSymbol_Rank As Integer Implements IArrayTypeSymbol.Rank 413Private ReadOnly Property IArrayTypeSymbol_IsSZArray As Boolean Implements IArrayTypeSymbol.IsSZArray 419Private ReadOnly Property IArrayTypeSymbol_Sizes As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.Sizes 425Private ReadOnly Property IArrayTypeSymbol_LowerBounds As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.LowerBounds 431Private ReadOnly Property IArrayTypeSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IArrayTypeSymbol.CustomModifiers 437Private Function IArrayTypeSymbol_Equals(symbol As IArrayTypeSymbol) As Boolean Implements IArrayTypeSymbol.Equals
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
CastAnalyzer.vb (2)
40Debug.Assert(TypeOf parameter.Type Is IArrayTypeSymbol) 42Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (9)
TypeSyntaxGeneratorVisitor.vb (3)
41Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
143Dim paramsType = TryCast(parameterType, IArrayTypeSymbol)
VisualBasicTypeInferenceService.TypeInferrer.vb (5)
281If TypeOf expressionType.Type Is IArrayTypeSymbol Then 407Return outerTypes.Where(Function(c) TypeOf c.InferredType Is IArrayTypeSymbol) _ 408.Select(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType)) 421currentTypes = currentTypes.WhereAsArray(Function(c) TypeOf c.InferredType Is IArrayTypeSymbol). 422SelectAsArray(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType))
Microsoft.CodeAnalysis.VisualBasic.Features (3)
GenerateMember\GenerateParameterizedMember\VisualBasicGenerateMethodService.vb (1)
104If TypeOf nameSemanticInfo.Type IsNot IArrayTypeSymbol Then
UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (1)
68Dim arrayType = TryCast(semanticsModel.GetDeclaredSymbol(propertyDeclaration, cancellationToken).Type, IArrayTypeSymbol)
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
143Dim paramsType = TryCast(parameterType, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (19)
Semantics\MultiDimensionalTest.vb (19)
872Dim szArray = DirectCast(m2.Parameters.First().Type, IArrayTypeSymbol) 879Dim mdArray = DirectCast(m2.Parameters.Last().Type, IArrayTypeSymbol) 2136Dim array = DirectCast(Test.GetMember(Of MethodSymbol)("Test1").ReturnType, IArrayTypeSymbol) 2143array = DirectCast(Test.GetMember(Of MethodSymbol)("Test2").ReturnType, IArrayTypeSymbol) 2150array = DirectCast(Test.GetMember(Of MethodSymbol)("Test3").ReturnType, IArrayTypeSymbol) 2157array = DirectCast(Test.GetMember(Of MethodSymbol)("Test4").ReturnType, IArrayTypeSymbol) 2164array = DirectCast(Test.GetMember(Of MethodSymbol)("Test5").ReturnType, IArrayTypeSymbol) 2171array = DirectCast(Test.GetMember(Of MethodSymbol)("Test6").ReturnType, IArrayTypeSymbol) 2178array = DirectCast(Test.GetMember(Of MethodSymbol)("Test7").ReturnType, IArrayTypeSymbol) 2185array = DirectCast(Test.GetMember(Of MethodSymbol)("Test8").ReturnType, IArrayTypeSymbol) 2192array = DirectCast(Test.GetMember(Of MethodSymbol)("Test9").ReturnType, IArrayTypeSymbol) 2199array = DirectCast(Test.GetMember(Of MethodSymbol)("Test10").ReturnType, IArrayTypeSymbol) 2206array = DirectCast(Test.GetMember(Of MethodSymbol)("Test11").ReturnType, IArrayTypeSymbol) 2213array = DirectCast(Test.GetMember(Of MethodSymbol)("Test12").ReturnType, IArrayTypeSymbol) 2220array = DirectCast(Test.GetMember(Of MethodSymbol)("Test13").ReturnType, IArrayTypeSymbol) 2227array = DirectCast(Test.GetMember(Of MethodSymbol)("Test14").ReturnType, IArrayTypeSymbol) 2234array = DirectCast(Test.GetMember(Of MethodSymbol)("Test15").ReturnType, IArrayTypeSymbol) 2241array = DirectCast(Test.GetMember(Of MethodSymbol)("Test16").ReturnType, IArrayTypeSymbol) 2248array = DirectCast(Test.GetMember(Of MethodSymbol)("Test17").ReturnType, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (12)
CastAnalyzer.vb (2)
40Debug.Assert(TypeOf parameter.Type Is IArrayTypeSymbol) 42Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
CodeGeneration\ParameterGenerator.vb (1)
44Dim arrayType = DirectCast(parameter.Type, IArrayTypeSymbol)
Recommendations\VisualBasicRecommendationServiceRunner.vb (1)
216If container Is Nothing AndAlso TypeOf (leftHandTypeInfo.ConvertedType) Is IArrayTypeSymbol Then
TypeSyntaxGeneratorVisitor.vb (3)
41Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
VisualBasicTypeInferenceService.TypeInferrer.vb (5)
281If TypeOf expressionType.Type Is IArrayTypeSymbol Then 407Return outerTypes.Where(Function(c) TypeOf c.InferredType Is IArrayTypeSymbol) _ 408.Select(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType)) 421currentTypes = currentTypes.WhereAsArray(Function(c) TypeOf c.InferredType Is IArrayTypeSymbol). 422SelectAsArray(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType))
Microsoft.CodeAnalysis.Workspaces (32)
AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
98if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
CodeGenerationArrayTypeSymbol.cs (1)
74public bool Equals(IArrayTypeSymbol? other)
CodeGenerationSymbolFactory.cs (1)
355public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.UnderlyingNamedTypeVisitor.cs (1)
19public override INamedTypeSymbol? VisitArrayType(IArrayTypeSymbol symbol)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
28public override bool VisitArrayType(IArrayTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (1)
99return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
35public override void VisitArrayType(IArrayTypeSymbol symbol)
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
21public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (5)
315IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 342case IArrayTypeSymbol arrayType: 546if (t1 is IArrayTypeSymbol arr1) 548var arr2 = (IArrayTypeSymbol)t2;
Recommendations\AbstractRecommendationServiceRunner.cs (1)
246if (method.Parameters.LastOrDefault()?.Type is IArrayTypeSymbol arrayType)
Shared\Extensions\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
27public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
95public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
32public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
27public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
118SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 141private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
SymbolKey.ArrayTypeSymbolKey.cs (4)
9private sealed class ArrayTypeSymbolKey : AbstractSymbolKey<IArrayTypeSymbol> 13public sealed override void Create(IArrayTypeSymbol symbol, SymbolKeyWriter visitor) 20SymbolKeyReader reader, IArrayTypeSymbol? contextualSymbol, out string? failureReason) 31using var result = PooledArrayBuilder<IArrayTypeSymbol>.GetInstance(elementTypeResolution.SymbolCount);
SymbolKey.cs (3)
24/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 25/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 26/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
SymbolKey.SymbolKeyWriter.cs (1)
326public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
Microsoft.VisualStudio.LanguageServices (6)
Library\VsNavInfo\NavInfoFactory.cs (1)
88typeSymbol = ((IArrayTypeSymbol)typeSymbol).ElementType;
Progression\GraphNodeIdCreation.cs (3)
124if (symbol is IArrayTypeSymbol arrayType) 235private static async Task<GraphNodeId> GetPartialForArrayTypeAsync(IArrayTypeSymbol arrayType, GraphNodeIdName nodeName, Solution solution, CancellationToken cancellationToken) 276symbol = ((IArrayTypeSymbol)symbol).ElementType;
ProjectSystem\AbstractEntryPointFinder.cs (2)
60if (parameter.Type is IArrayTypeSymbol) 62var elementType = ((IArrayTypeSymbol)parameter.Type).ElementType;
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
GlyphExtensionsTests.cs (1)
215var arrayTypeMock = symbolMock.As<IArrayTypeSymbol>();
Microsoft.VisualStudio.LanguageServices.Implementation (16)
CodeModel\CodeTypeRef.cs (3)
84var arrayType = project.GetCompilationAsync().Result.CreateArrayTypeSymbol(LookupTypeSymbol(), rank); 95return CodeTypeRef.Create(this.State, this, _projectId, ((IArrayTypeSymbol)typeSymbol).ElementType); 134return ((IArrayTypeSymbol)typeSymbol).Rank;
CodeModel\InternalElements\CodeParameter.cs (9)
199var elementType = type is IArrayTypeSymbol 200? ((IArrayTypeSymbol)type).ElementType 206var newType = compilation.CreateArrayTypeSymbol(elementType, rank); 213var arrayType = this.ParameterSymbol.Type as IArrayTypeSymbol; 219arrayType = arrayType.ElementType as IArrayTypeSymbol; 232var arrayType = this.ParameterSymbol.Type as IArrayTypeSymbol; 238arrayType = arrayType.ElementType as IArrayTypeSymbol;
CodeModel\MetadataNameHelpers.cs (2)
47private static void AppendArrayType(IArrayTypeSymbol symbol, StringBuilder builder) 113AppendArrayType((IArrayTypeSymbol)symbol, builder);
CodeModel\MethodXml\AbstractMethodXmlBuilder.cs (2)
390var arrayType = (IArrayTypeSymbol)type;
Microsoft.VisualStudio.LanguageServices.VisualBasic (5)
Help\VisualBasicHelpContextService.vb (2)
93If TypeOf symbolType Is IArrayTypeSymbol Then 94symbolType = DirectCast(symbolType, IArrayTypeSymbol).ElementType
Help\VisualBasicHelpContextService.Visitor.vb (3)
869Dim symbolType = TryCast(info.Symbol.GetSymbolType(), IArrayTypeSymbol) 871While symbolType.ElementType IsNot Nothing AndAlso TypeOf symbolType.ElementType Is IArrayTypeSymbol 872symbolType = DirectCast(symbolType.ElementType, IArrayTypeSymbol)