6 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.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
493 references to IArrayTypeSymbol
Aspire.Hosting.Integration.Analyzers (3)
AspireExportAnalyzer.cs (3)
1523if (param.IsParams && paramType is IArrayTypeSymbol paramsArray) 2234if (type is IArrayTypeSymbol arrayType) 2587if (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\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is 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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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)
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.AspNetCore.Http.RequestDelegateGenerator (1)
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\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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)
Microsoft.CodeAnalysis.AnalyzerUtilities (39)
src\2e2796bccd1466f6\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
505if (arrayCreationOperation?.Type is IArrayTypeSymbol arrayTypeSymbol
src\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
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\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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
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)
363if (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)
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 (3)
Microsoft.NetCore.Analyzers\Performance\CSharpUseSearchValues.Fixer.cs (1)
88if (operation.Type is IArrayTypeSymbol arrayType)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Fixer.cs (1)
68protected override SyntaxNode GetTypeSyntaxForArray(IArrayTypeSymbol type)
Microsoft.NetCore.Analyzers\Runtime\CSharpPreferReadOnlySpanPropertiesOverReadOnlyArrayFields.Fixer.cs (1)
561if (fieldType is not IArrayTypeSymbol { Rank: 1 } arrayTypeSymbol)
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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
30public override bool VisitArrayType(IArrayTypeSymbol symbol)
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)
363if (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.NetAnalyzers (54)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\OperatorOverloadsHaveNamedAlternates.cs (1)
259elementType = ((IArrayTypeSymbol)elementType).ElementType;
Microsoft.CodeQuality.Analyzers\QualityGuidelines\PreferJaggedArraysOverMultidimensional.cs (2)
150var arrayType = (IArrayTypeSymbol)type;
Microsoft.NetCore.Analyzers\InteropServices\DisableRuntimeMarshallingAnalyzer.DelegateInteropUsageAnalyzer.cs (4)
123else if (param.Type is IArrayTypeSymbol { ElementType.TypeKind: TypeKind.Delegate }) 125AnalyzeDelegateMethodSignature((INamedTypeSymbol)((IArrayTypeSymbol)param.Type).ElementType, param); 133else if (symbol.ReturnType is IArrayTypeSymbol { ElementType.TypeKind: TypeKind.Delegate }) 135AnalyzeDelegateMethodSignature((INamedTypeSymbol)((IArrayTypeSymbol)symbol.ReturnType).ElementType, symbol);
Microsoft.NetCore.Analyzers\Performance\PreferConvertToHexStringOverBitConverter.cs (1)
121var byteArrayType = compilation.CreateArrayTypeSymbol(byteType);
Microsoft.NetCore.Analyzers\Performance\PreferLengthCountIsEmptyOverAnyAnalyzer.cs (1)
146if (typeSymbol is IArrayTypeSymbol)
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (1)
251type is IArrayTypeSymbol array &&
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.Fixer.cs (1)
218return ((IArrayTypeSymbol)arrayCreationOperation.Type!).ElementType.OriginalDefinition.Name.ToLowerInvariant() + "Array";
Microsoft.NetCore.Analyzers\Runtime\AvoidZeroLengthArrayAllocations.Fixer.cs (2)
67var arrayType = (typeInfo.Type ?? typeInfo.ConvertedType) as IArrayTypeSymbol;
Microsoft.NetCore.Analyzers\Runtime\BufferBlockCopyLengthAnalyzer.cs (2)
94IArrayTypeSymbol countArgumentArrayTypeSymbol = (IArrayTypeSymbol)lengthPropertyArgument.Instance!.Type!;
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (6)
297while (typeParameter is IArrayTypeSymbol array) 326while (symbolType is IArrayTypeSymbol arrayType) 377while (symbolType is IArrayTypeSymbol arrayType) 576while (methodReturnType is IArrayTypeSymbol array) 615while (parameterType is IArrayTypeSymbol array) 836while (ret is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.NetCore.Analyzers\Runtime\DoNotCallEnumerableCastOrOfTypeWithIncompatibleTypesAnalyzer.cs (3)
121return (operation.Type as IArrayTypeSymbol)?.ElementType; 322when castFrom is IArrayTypeSymbol fromArray 323&& castTo is IArrayTypeSymbol toArray:
Microsoft.NetCore.Analyzers\Runtime\DoNotLockOnObjectsWithWeakIdentity.cs (1)
99return type is IArrayTypeSymbol arrayType && IsPrimitiveType(arrayType.ElementType);
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (1)
321lastParameter.Type is IArrayTypeSymbol arrayTypeSymbol &&
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Fixer.cs (5)
42protected abstract SyntaxNode GetTypeSyntaxForArray(IArrayTypeSymbol type); 139var paramsArrayType = invocation.Arguments.SingleOrDefault(a => a.ArgumentKind == ArgumentKind.ParamArray)?.Value.Type as IArrayTypeSymbol; 180string argumentName, string parameterName, IArrayTypeSymbol? paramsArrayType) 202public IArrayTypeSymbol? ParamsArrayType { get; }
Microsoft.NetCore.Analyzers\Runtime\PreferReadOnlySpanPropertiesOverReadOnlyArrayFieldsAnalyzer.cs (4)
163var messageArgument = ((IArrayTypeSymbol)field.Type).ElementType.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat); 178field.Type is not IArrayTypeSymbol) 235field.Type is IArrayTypeSymbol { Rank: 1 } arrayType && 317else if (operation.Type is IArrayTypeSymbol)
Microsoft.NetCore.Analyzers\Runtime\ProvideStreamMemoryBasedAsyncOverrides.cs (1)
120var byteArrayType = compilation.CreateArrayTypeSymbol(byteType);
Microsoft.NetCore.Analyzers\Runtime\SerializationRulesDiagnosticAnalyzer.cs (1)
189TypeKind.Array => IsSerializable(((IArrayTypeSymbol)type).ElementType),
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInSerializableObjectGraphAnalyzer.cs (1)
196&& targetMethod.Parameters[0].Type is IArrayTypeSymbol arrayTypeSymbol
Microsoft.NetCore.Analyzers\Security\DoNotSerializeTypeWithPointerFields.cs (1)
123else if (typeSymbol is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.NetCore.Analyzers\Security\Helpers\InsecureDeserializationTypeDecider.cs (1)
439else if (type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.NetCore.Analyzers\Security\PotentialReferenceCycleInDeserializedObjectGraph.cs (1)
162else if (type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.NetCore.Analyzers\Security\SourceTriggeredTaintedDataAnalyzerBase.cs (1)
191if (arrayInitializerOperation.GetAncestor<IArrayCreationOperation>(OperationKind.ArrayCreation)?.Type is IArrayTypeSymbol arrayTypeSymbol
Microsoft.NetFramework.Analyzers\MarkVerbHandlersWithValidateAntiforgeryTokenAnalyzer.MvcAttributeSymbols.cs (2)
96IArrayTypeSymbol parameterArrayType = (IArrayTypeSymbol)parameterType;
src\40daf5e1cab76dff\HardcodedBytesSources.cs (1)
77arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol &&
src\40daf5e1cab76dff\HardcodedSymmetricAlgorithmKeysSources.cs (1)
87arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol &&
src\40daf5e1cab76dff\StringTransferSources.cs (2)
39(firstParameter.Type is IArrayTypeSymbol arrayType && 88(secondParameter.Type is IArrayTypeSymbol arrayType &&
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
503if (arrayCreationOperation?.Type is IArrayTypeSymbol arrayTypeSymbol
src\40daf5e1cab76dff\TaintedDataSymbolMapExtensions.cs (1)
154IArrayTypeSymbol arrayTypeSymbol,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IEnumerableOfIMethodSymbolExtensions.cs (2)
160var arrayParameterSymbol = parameterType as IArrayTypeSymbol;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
122return (arrayCreation?.Type as IArrayTypeSymbol)?.ElementType;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
2898var elementType = ((IArrayTypeSymbol)arrayCreation.Type!).ElementType;
Microsoft.CodeAnalysis.Razor.Compiler (1)
Language\TagHelpers\Producers\ComponentTagHelperProducer.cs (1)
387else if (type is IArrayTypeSymbol array && HasTypeParameter(array.ElementType))
Microsoft.CodeAnalysis.ResxSourceGenerator (32)
src\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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.NetAnalyzers (4)
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocations.Fixer.vb (1)
71Protected 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.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\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is 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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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)
Microsoft.Diagnostics.DataContractReader.DataGenerator (1)
Parser.cs (1)
470if (type is IArrayTypeSymbol array)
Microsoft.Extensions.Configuration.Binder.SourceGeneration (7)
ConfigurationBindingGenerator.Parser.cs (6)
239if (type is IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte }) 343IArrayTypeSymbol typeSymbol = (IArrayTypeSymbol)typeParseInfo.TypeSymbol; 595IArrayTypeSymbol? arrayTypeSymbol = type as IArrayTypeSymbol; 936if (type is IArrayTypeSymbol arrayType)
Parser\Extensions.cs (1)
123if (type is IArrayTypeSymbol arrayType)
Microsoft.Extensions.Options.SourceGeneration (1)
Parser.cs (1)
341else if (type is IArrayTypeSymbol ats)
Microsoft.Extensions.Validation.ValidationsGenerator (2)
Extensions\ITypeSymbolExtensions.cs (1)
93if (type is IArrayTypeSymbol arrayType)
src\aspnetcore\src\Shared\RoslynUtils\SymbolExtensions.cs (1)
24if (unwrapArray && typeSymbol is IArrayTypeSymbol arrayTypeSymbol)
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)
405if (innerType is IArrayTypeSymbol array) 433IArrayTypeSymbol 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\60c94c676d650713\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
32public override void VisitArrayType(IArrayTypeSymbol symbol)
src\a16f30e1d256badc\AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
93if (parameterSymbol.Type is 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_Accessibility.cs (1)
101return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
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\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
23public override ITypeSymbol 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)
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));
System.Text.Json.SourceGeneration (13)
Helpers\KnownTypeSymbols.cs (2)
166public IArrayTypeSymbol? ByteArrayType => _ByteArrayType.HasValue 170private Option<IArrayTypeSymbol?> _ByteArrayType;
Helpers\RoslynExtensions.cs (4)
78if (type is IArrayTypeSymbol arrayType) 299if (pattern is IArrayTypeSymbol patternArray) 301return target is IArrayTypeSymbol targetArray 424if (type is IArrayTypeSymbol array)
JsonSourceGenerator.Parser.cs (7)
295if (type is IArrayTypeSymbol arrayType) 1531case IArrayTypeSymbol array: 1960if (type is IArrayTypeSymbol || 1981type is IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte }; 2080if (type is IArrayTypeSymbol arraySymbol) 3273if (type is IArrayTypeSymbol arrayType) 3379type is IArrayTypeSymbol { Rank: > 1 };