7 implementations of IArrayTypeSymbol
GenerateDocumentationAndConfigFiles (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
10internal sealed class CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) : CodeGenerationTypeSymbol(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, nullableAnnotation), IArrayTypeSymbol
Microsoft.CodeAnalysis.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
10internal sealed class CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) : CodeGenerationTypeSymbol(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, nullableAnnotation), IArrayTypeSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
10internal sealed class CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) : CodeGenerationTypeSymbol(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, nullableAnnotation), IArrayTypeSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\ArrayTypeSymbol.cs (1)
12internal sealed class ArrayTypeSymbol : TypeSymbol, IArrayTypeSymbol
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\ArrayTypeSymbol.vb (1)
21Implements IArrayTypeSymbol, IArrayTypeSymbolInternal
Microsoft.CodeAnalysis.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
10internal sealed class CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) : CodeGenerationTypeSymbol(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, nullableAnnotation), IArrayTypeSymbol
Roslyn.Diagnostics.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
10internal sealed class CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) : CodeGenerationTypeSymbol(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, nullableAnnotation), IArrayTypeSymbol
475 references to IArrayTypeSymbol
Aspire.Hosting.Integration.Analyzers (3)
AspireExportAnalyzer.cs (3)
602if (param.IsParams && paramType is IArrayTypeSymbol paramsArray) 940if (type is IArrayTypeSymbol arrayType) 1248if (parameter.IsParams && type is IArrayTypeSymbol arrayType)
ConfigurationSchemaGenerator (5)
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (4)
235if (type is IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte }) 339IArrayTypeSymbol typeSymbol = (IArrayTypeSymbol)typeParseInfo.TypeSymbol; 557if (type is IArrayTypeSymbol arrayTypeSymbol)
RuntimeSource\Configuration.Binder\Parser\Extensions.cs (1)
94if (type is IArrayTypeSymbol arrayType)
GenerateDocumentationAndConfigFiles (35)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
353public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
67public bool Equals(IArrayTypeSymbol? other)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
ILLink.RoslynAnalyzer (2)
TrimAnalysis\HandleCallAction.cs (2)
56public override bool VisitArrayType(IArrayTypeSymbol symbol) => Visit(symbol.ElementType); 294IArrayTypeSymbol or IPointerTypeSymbol or IFunctionPointerTypeSymbol or ITypeParameterSymbol => null,
Microsoft.AspNetCore.App.Analyzers (2)
RouteHandlers\DisallowNonParsableComplexTypesOnParameters.cs (1)
121if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
src\aspnetcore\src\Shared\RoslynUtils\SymbolExtensions.cs (1)
24if (unwrapArray && typeSymbol is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis (9)
Compilation\Compilation.cs (4)
1105public IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation elementNullableAnnotation = NullableAnnotation.None) 1115public IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank) 1120protected abstract IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation elementNullableAnnotation); 1737s = ((IArrayTypeSymbol)s).ElementType;
DocumentationCommentId.cs (1)
651public 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.Analyzers (36)
src\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
401case IArrayTypeSymbol arrayTypeSymbol:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
353public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
67public bool Equals(IArrayTypeSymbol? other)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis.AnalyzerUtilities (39)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedBytesSources.cs (1)
78arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedSymmetricAlgorithmKeysSources.cs (1)
88arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\StringTransferSources.cs (2)
40(firstParameter.Type is IArrayTypeSymbol arrayType && 89(secondParameter.Type is IArrayTypeSymbol arrayType &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
505if (arrayCreationOperation?.Type is IArrayTypeSymbol arrayTypeSymbol
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (1)
155IArrayTypeSymbol arrayTypeSymbol,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
2901var elementType = ((IArrayTypeSymbol)arrayCreation.Type!).ElementType;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
Microsoft.CodeAnalysis.CodeStyle (33)
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
Microsoft.CodeAnalysis.CodeStyle.Fixes (7)
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
155&& parameterType is IArrayTypeSymbol paramsType
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (1)
523if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (1)
364if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
45public override ValueTask VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
353public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
67public bool Equals(IArrayTypeSymbol? other)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis.CSharp (18)
Compilation\CSharpCompilation.cs (1)
4241protected override IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, CodeAnalysis.NullableAnnotation elementNullableAnnotation)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (6)
16public override void VisitArrayType(IArrayTypeSymbol symbol) 22private void VisitArrayTypeWithoutNullability(IArrayTypeSymbol symbol) 50underlyingType = ((IArrayTypeSymbol)underlyingType).ElementType; 56var arrayType = symbol; 65arrayType = arrayType.ElementType as IArrayTypeSymbol; 102private 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)
653internal static IArrayTypeSymbol? GetPublicSymbol(this ArrayTypeSymbol? symbol) 655return symbol.GetPublicSymbol<IArrayTypeSymbol>();
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (3)
225if (type is IArrayTypeSymbol arrayType && 290if (type is IArrayTypeSymbol) 971if (originalCreateMethod.Parameters is [{ IsParams: true, Type: IArrayTypeSymbol { ElementType: ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } } }])
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
77if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
130if (type is IArrayTypeSymbol arrayType)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (15)
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpChangeToIEnumerableCodeFixProvider.cs (1)
60else if (arity == 0 && type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
49currentMethod.Parameters is [.., { IsParams: true, Type: IArrayTypeSymbol arrayType }])
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
62public override TypeSyntax VisitArrayType(IArrayTypeSymbol symbol) 68while (underlyingType is IArrayTypeSymbol innerArray) 95var arrayType = symbol; 101arrayType = arrayType.ElementType as IArrayTypeSymbol;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (9)
702DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 838return outerTypes.Where(o => o.InferredType is IArrayTypeSymbol); 864currentTypes = currentTypes.Select(t => t.InferredType).OfType<IArrayTypeSymbol>() 1443var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1467if (types.Any(t => t is IArrayTypeSymbol)) 1469return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1477if (types.Any(t => t is IArrayTypeSymbol)) 1479return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
Microsoft.CodeAnalysis.CSharp.Features (8)
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
140if (type is IArrayTypeSymbol arrayType)
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (1)
111if (isParams && type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (3)
225if (type is IArrayTypeSymbol arrayType && 290if (type is IArrayTypeSymbol) 971if (originalCreateMethod.Parameters is [{ IsParams: true, Type: IArrayTypeSymbol { ElementType: ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } } }])
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUtf8StringLiteral\UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
77if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpChangeToIEnumerableCodeFixProvider.cs (1)
60else if (arity == 0 && type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
49currentMethod.Parameters is [.., { IsParams: true, Type: IArrayTypeSymbol arrayType }])
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (2)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (1)
87if (operation.Type is IArrayTypeSymbol arrayType)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Fixer.cs (1)
67protected override SyntaxNode GetTypeSyntaxForArray(IArrayTypeSymbol type)
Microsoft.CodeAnalysis.CSharp.Workspaces (14)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
130if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
62public override TypeSyntax VisitArrayType(IArrayTypeSymbol symbol) 68while (underlyingType is IArrayTypeSymbol innerArray) 95var arrayType = symbol; 101arrayType = arrayType.ElementType as IArrayTypeSymbol;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (9)
702DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 838return outerTypes.Where(o => o.InferredType is IArrayTypeSymbol); 864currentTypes = currentTypes.Select(t => t.InferredType).OfType<IArrayTypeSymbol>() 1443var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1467if (types.Any(t => t is IArrayTypeSymbol)) 1469return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1477if (types.Any(t => t is IArrayTypeSymbol)) 1479return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
Microsoft.CodeAnalysis.Extensions.Package (22)
Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
Microsoft.CodeAnalysis.Features (24)
Completion\Providers\AbstractObjectCreationCompletionProvider.cs (2)
60var isArray = type is IArrayTypeSymbol; 61while (type is IArrayTypeSymbol arrayType)
Completion\Providers\AbstractSymbolCompletionProvider.cs (1)
113while (inferredType is IArrayTypeSymbol arrayType)
Completion\Providers\ImportCompletionProvider\ExtensionMemberImportCompletionHelper.SymbolComputer.cs (2)
631case IArrayTypeSymbol arrayType: 633while (elementType is IArrayTypeSymbol symbol)
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
216if (collectionType is IArrayTypeSymbol array)
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (2)
251if (collectionType is IArrayTypeSymbol arrayType) 506if (collectionType is IArrayTypeSymbol arrayType)
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (2)
103if (typeInfo.Type is IArrayTypeSymbol || typeInfo.ConvertedType is IArrayTypeSymbol)
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
46public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
501&& parameterSymbol.Type is IArrayTypeSymbol paramArrayParameter
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
26public 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)
46IArrayTypeSymbol arrayType => GetNamedType(arrayType.ElementType),
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
155&& parameterType is IArrayTypeSymbol paramsType
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (1)
523if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (1)
364if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
45public override ValueTask VisitArrayType(IArrayTypeSymbol symbol)
StackTraceExplorer\AbstractStackTraceSymbolResolver.cs (3)
42if (type is IArrayTypeSymbol arrayType) 58if (currentType is not IArrayTypeSymbol currentArrayType) 73if (currentType is IArrayTypeSymbol)
Microsoft.CodeAnalysis.Razor.Compiler (1)
Language\TagHelpers\Producers\ComponentTagHelperProducer.cs (1)
281else if (type is IArrayTypeSymbol array && HasTypeParameter(array.ElementType))
Microsoft.CodeAnalysis.ResxSourceGenerator (32)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
Microsoft.CodeAnalysis.VisualBasic (15)
Compilation\VisualBasicCompilation.vb (1)
2875Protected 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)
400Private ReadOnly Property IArrayTypeSymbol_ElementType As ITypeSymbol Implements IArrayTypeSymbol.ElementType 412Private ReadOnly Property IArrayTypeSymbol_ElementNullableAnnotation As NullableAnnotation Implements IArrayTypeSymbol.ElementNullableAnnotation 418Private ReadOnly Property IArrayTypeSymbol_Rank As Integer Implements IArrayTypeSymbol.Rank 424Private ReadOnly Property IArrayTypeSymbol_IsSZArray As Boolean Implements IArrayTypeSymbol.IsSZArray, IArrayTypeSymbolInternal.IsSZArray 430Private ReadOnly Property IArrayTypeSymbol_Sizes As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.Sizes 436Private ReadOnly Property IArrayTypeSymbol_LowerBounds As ImmutableArray(Of Integer) Implements IArrayTypeSymbol.LowerBounds 442Private ReadOnly Property IArrayTypeSymbol_CustomModifiers As ImmutableArray(Of CustomModifier) Implements IArrayTypeSymbol.CustomModifiers 448Private Function IArrayTypeSymbol_Equals(symbol As IArrayTypeSymbol) As Boolean Implements IArrayTypeSymbol.Equals
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (12)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\AddExplicitCast\VisualBasicAddExplicitCastCodeFixProvider.vb (1)
139Dim paramsType = TryCast(parameterType, IArrayTypeSymbol)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\VisualBasicGenerateMethodService.vb (1)
104If TypeOf nameSemanticInfo.Type IsNot IArrayTypeSymbol Then
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (1)
85Dim arrayType = TryCast(semanticsModel.GetDeclaredSymbol(propertyDeclaration, cancellationToken).Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ParameterGenerator.vb (1)
43Dim arrayType = DirectCast(parameter.Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (3)
41Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\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)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\AddExplicitCast\VisualBasicAddExplicitCastCodeFixProvider.vb (1)
139Dim paramsType = TryCast(parameterType, IArrayTypeSymbol)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\VisualBasicGenerateMethodService.vb (1)
104If TypeOf nameSemanticInfo.Type IsNot IArrayTypeSymbol Then
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (1)
85Dim arrayType = TryCast(semanticsModel.GetDeclaredSymbol(propertyDeclaration, cancellationToken).Type, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (4)
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Fixer.vb (1)
70Protected Overrides Function GetTypeSyntaxForArray(type As IArrayTypeSymbol) As SyntaxNode
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocationsFixer.TypeNameVisitor.vb (3)
25Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 28underlyingNonArrayType = DirectCast(underlyingNonArrayType, IArrayTypeSymbol).ElementType 38arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (12)
Recommendations\VisualBasicRecommendationServiceRunner.vb (1)
222If container Is Nothing AndAlso TypeOf (leftHandTypeInfo.ConvertedType) Is IArrayTypeSymbol Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ParameterGenerator.vb (1)
43Dim arrayType = DirectCast(parameter.Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (3)
41Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\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 (37)
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.UnderlyingNamedTypeVisitor.cs (1)
19public override INamedTypeSymbol? VisitArrayType(IArrayTypeSymbol symbol)
Recommendations\AbstractRecommendationServiceRunner.cs (1)
248if (method.Parameters.LastOrDefault()?.Type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
353public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
67public bool Equals(IArrayTypeSymbol? other)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.Extensions.Options.SourceGeneration (1)
Parser.cs (1)
231else if (type is IArrayTypeSymbol ats)
Microsoft.Interop.JavaScript.JSImportGenerator (1)
JSManagedTypeInfo.cs (1)
110case IArrayTypeSymbol { IsSZArray: true, ElementType: ITypeSymbol elementType }:
Microsoft.Interop.SourceGeneration (8)
ArrayMarshallingInfoProvider.cs (2)
26public bool CanProvideMarshallingInfoForType(ITypeSymbol type) => type is IArrayTypeSymbol { IsSZArray: true }; 36ITypeSymbol elementType = ((IArrayTypeSymbol)type).ElementType;
CustomMarshallingInfoHelper.cs (1)
42if (type is IArrayTypeSymbol arrayManagedType)
ManagedTypeInfo.cs (1)
60if (type.TypeKind == TypeKind.Array && type is IArrayTypeSymbol { IsSZArray: true } arraySymbol)
ManualTypeMarshallingHelper.cs (3)
366if (innerType is IArrayTypeSymbol array) 394IArrayTypeSymbol arrayType = (IArrayTypeSymbol)wrapperType;
MarshalAsWithCustomMarshallersParser.cs (1)
53if (type is not IArrayTypeSymbol { ElementType: ITypeSymbol elementType })
Roslyn.Diagnostics.Analyzers (37)
AbstractDoNotCopyValue.cs (1)
250public override void VisitArrayType(IArrayTypeSymbol symbol)
SpecializedEnumerableCreationAnalyzer.cs (1)
138typeInfo.Type is IArrayTypeSymbol arrayType &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (1)
54if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\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);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (3)
25/// <item>Two <see cref="IArrayTypeSymbol"/>s are the "same" if they have 26/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and 27/// equal <see cref="IArrayTypeSymbol.Rank"/>.</item>
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
329public override void VisitArrayType(IArrayTypeSymbol arrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
138&& type is IArrayTypeSymbol arrayType
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.cs (5)
314IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 341case IArrayTypeSymbol arrayType: 559if (t1 is IArrayTypeSymbol arr1) 561var arr2 = (IArrayTypeSymbol)t2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
23public override Accessibility VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
96public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
26public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
25public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (7)
51return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)x, (INamedTypeSymbol)y, equivalentTypesWithDifferingAssemblies); 55return AreArrayAndReadOnlySpanEquivalent((IArrayTypeSymbol)y, (INamedTypeSymbol)x, equivalentTypesWithDifferingAssemblies); 65private bool AreArrayAndReadOnlySpanEquivalent(IArrayTypeSymbol array, INamedTypeSymbol readOnlySpanType, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies) 117SymbolKind.ArrayType => ArrayTypesAreEquivalent((IArrayTypeSymbol)x, (IArrayTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 140private bool ArrayTypesAreEquivalent(IArrayTypeSymbol x, IArrayTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
62SymbolKind.ArrayType => CombineHashCodes((IArrayTypeSymbol)x, currentHash), 81private int CombineHashCodes(IArrayTypeSymbol x, int currentHash)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
353public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationArrayTypeSymbol.cs (1)
67public bool Equals(IArrayTypeSymbol? other)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Roslyn.Diagnostics.CSharp.Analyzers (14)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.State.cs (1)
130if (type is IArrayTypeSymbol arrayType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
62public override TypeSyntax VisitArrayType(IArrayTypeSymbol symbol) 68while (underlyingType is IArrayTypeSymbol innerArray) 95var arrayType = symbol; 101arrayType = arrayType.ElementType as IArrayTypeSymbol;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (9)
702DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 838return outerTypes.Where(o => o.InferredType is IArrayTypeSymbol); 864currentTypes = currentTypes.Select(t => t.InferredType).OfType<IArrayTypeSymbol>() 1443var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1467if (types.Any(t => t is IArrayTypeSymbol)) 1469return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1477if (types.Any(t => t is IArrayTypeSymbol)) 1479return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
Roslyn.Diagnostics.VisualBasic.Analyzers (11)
BasicSpecializedEnumerableCreationAnalyzer.vb (1)
68Dim arrayType = TryCast(speculativeTypeInfo.ConvertedType, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (3)
41Public Overrides Function VisitArrayType(symbol As IArrayTypeSymbol) As TypeSyntax 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\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))
System.Text.Json.SourceGeneration (6)
Helpers\KnownTypeSymbols.cs (2)
154public IArrayTypeSymbol? ByteArrayType => _ByteArrayType.HasValue 158private Option<IArrayTypeSymbol?> _ByteArrayType;
Helpers\RoslynExtensions.cs (1)
53if (type is IArrayTypeSymbol arrayType)
JsonSourceGenerator.Parser.cs (3)
907if (type is IArrayTypeSymbol arraySymbol) 2042if (type is IArrayTypeSymbol arrayType) 2148type is IArrayTypeSymbol { Rank: > 1 };