4 implementations of ElementType
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationArrayTypeSymbol.cs (1)
19public ITypeSymbol ElementType { get; }
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\ArrayTypeSymbol.cs (1)
43ITypeSymbol IArrayTypeSymbol.ElementType
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\ArrayTypeSymbol.vb (1)
395Private ReadOnly Property IArrayTypeSymbol_ElementType As ITypeSymbol Implements IArrayTypeSymbol.ElementType
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationArrayTypeSymbol.cs (1)
19public ITypeSymbol ElementType { get; }
154 references to ElementType
Microsoft.CodeAnalysis (2)
Compilation\Compilation.cs (1)
1685s = ((IArrayTypeSymbol)s).ElementType;
DocumentationCommentId.cs (1)
587this.Visit(symbol.ElementType);
Microsoft.CodeAnalysis.CodeStyle (14)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
35return symbol.ElementType.Accept(this);
ISymbolExtensions_Accessibility.cs (1)
99return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.cs (4)
315IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 343type = arrayType.ElementType; 553return arr1.ElementType.IsMoreSpecificThan(arr2.ElementType);
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
22=> symbol.ElementType.Accept(this);
SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
146AreEquivalent(x.ElementType, y.ElementType, equivalentTypesWithDifferingAssemblies) &&
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
86GetHashCode(x.ElementType, currentHash)));
SymbolKey.ArrayTypeSymbolKey.cs (2)
15visitor.WriteSymbolKey(symbol.ElementType); 22var elementTypeResolution = reader.ReadSymbolKey(contextualSymbol?.ElementType, out var elementTypeFailureReason);
SymbolKey.cs (1)
25/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and
Microsoft.CodeAnalysis.CodeStyle.Fixes (6)
AbstractAddParameterCodeFixProvider.cs (1)
522compilation, argumentTypeInfo, arrayType.ElementType,
AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
100result.Add(arrayTypeSymbol.ElementType);
Fixer.cs (3)
156&& semanticFacts.ClassifyConversion(semanticModel, argumentExpression, paramsType.ElementType).Exists) 158newArguments.Add(GenerateNewArgument(arguments[i], paramsType.ElementType)); 160targetArgumentConversionType = paramsType.ElementType;
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
42symbol.ElementType.Accept(this);
Microsoft.CodeAnalysis.CSharp (3)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (3)
47symbol.ElementType.Accept(this); 55underlyingType = ((IArrayTypeSymbol)underlyingType).ElementType; 70arrayType = arrayType.ElementType as IArrayTypeSymbol;
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
CSharpTypeStyleHelper.State.cs (1)
116type = arrayType.ElementType;
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
78if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (9)
CSharpChangeToIEnumerableCodeFixProvider.cs (1)
68ienumerableGenericSymbol = ienumerableGenericSymbol.Construct(arrayType.ElementType);
CSharpTypeInferenceService.TypeInferrer.cs (6)
694DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 859.SelectAsArray(a => new TypeInferenceInfo(a.ElementType)); 1391var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1417return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1427return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (2)
66underlyingType = innerArray.ElementType; 97arrayType = arrayType.ElementType as IArrayTypeSymbol;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenTupleTest.cs (2)
14305Assert.False(m3TupleArray.ElementType.IsTupleType); 14315Assert.True(m3TupleArray.ElementType.IsTupleType);
Microsoft.CodeAnalysis.CSharp.Features (6)
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (1)
198typeSymbol = ((IArrayTypeSymbol)typeInferenceInfo.InferredType).ElementType;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
123return UnwrapType(arrayType.ElementType, compilation, wasPlural: true, seenTypes: seenTypes);
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (1)
111type = arrayType.ElementType;
CSharpChangeToIEnumerableCodeFixProvider.cs (1)
68ienumerableGenericSymbol = ienumerableGenericSymbol.Construct(arrayType.ElementType);
SignatureHelp\AbstractCSharpSignatureHelpProvider.LightweightOverloadResolution.cs (1)
165&& HasImplicitConversion(argument.Expression, arrayType.ElementType))
UseUtf8StringLiteralDiagnosticAnalyzer.cs (1)
78if (arrayCreationOperation.Type is not IArrayTypeSymbol { ElementType.SpecialType: SpecialType.System_Byte })
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\RefLocalsAndReturnsTests.cs (1)
4360Assert.Equal(SpecialType.System_Int32, ((IArrayTypeSymbol)model.GetTypeInfo(left).Type).ElementType.SpecialType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (16)
Compilation\CompilationAPITests.cs (8)
2467Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2475Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2483Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2494Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType).ElementType.NullableAnnotation); 2496Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementType.NullableAnnotation); 2498Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementType.NullableAnnotation); 2500Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.NotAnnotated).ElementType.NullableAnnotation); 2502Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.Annotated).ElementType.NullableAnnotation);
Compilation\SemanticModelAPITests.cs (1)
708Assert.Equal(compilation.GetSpecialType(SpecialType.System_String), (info.Symbol as IArrayTypeSymbol).ElementType);
Compilation\SemanticModelGetSemanticInfoTests.cs (1)
6229Assert.Equal(SpecialType.System_String, ((IArrayTypeSymbol)semanticInfo.Type).ElementType.SpecialType);
Compilation\SymbolVisitorTests.cs (3)
53symbol.ElementType.Accept(this); 223symbol.ElementType.Accept(this); 482symbol.ElementType.Accept(this, argument);
Symbols\Source\NullablePublicAPITests.cs (3)
57Assert.Equal(PublicNullableAnnotation.Annotated, arrayTypes[0].ElementType.NullableAnnotation); 59Assert.Equal(PublicNullableAnnotation.NotAnnotated, arrayTypes[1].ElementType.NullableAnnotation); 695var result = array.ElementType.NullableAnnotation;
Microsoft.CodeAnalysis.CSharp.Workspaces (9)
CSharpTypeInferenceService.TypeInferrer.cs (6)
694DetermineTypeParameterMapping(((IArrayTypeSymbol)inferredType).ElementType, ((IArrayTypeSymbol)returnType).ElementType, result); 859.SelectAsArray(a => new TypeInferenceInfo(a.ElementType)); 1391var elementTypes = arrayTypes.OfType<IArrayTypeSymbol>().Select(a => new TypeInferenceInfo(a.ElementType)).Where(IsUsableTypeFunc); 1417return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType)); 1427return types.OfType<IArrayTypeSymbol>().Select(t => new TypeInferenceInfo(t.ElementType));
CSharpTypeStyleHelper.State.cs (1)
116type = arrayType.ElementType;
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (2)
66underlyingType = innerArray.ElementType; 97arrayType = arrayType.ElementType as IArrayTypeSymbol;
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
51Visit(symbol.ElementType);
Microsoft.CodeAnalysis.Features (20)
AbstractAddParameterCodeFixProvider.cs (1)
522compilation, argumentTypeInfo, arrayType.ElementType,
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
Completion\Providers\AbstractObjectCreationCompletionProvider.cs (1)
62type = arrayType.ElementType;
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.SymbolComputer.cs (2)
535var elementType = arrayType.ElementType; 538elementType = symbol.ElementType;
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
227if (!IsExchangable(array.ElementType, foreachType, model.Compilation))
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (2)
251iterationType = arrayType.ElementType; 505return arrayType.Rank == 1 ? arrayType.ElementType : null;
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
44=> arrayTypeSymbol.ElementType.Accept(this);
Fixer.cs (3)
156&& semanticFacts.ClassifyConversion(semanticModel, argumentExpression, paramsType.ElementType).Exists) 158newArguments.Add(GenerateNewArgument(arguments[i], paramsType.ElementType)); 160targetArgumentConversionType = paramsType.ElementType;
GenerateMember\GenerateConstructor\AbstractGenerateConstructorService.State.cs (1)
368type = arrayType.ElementType;
GenerateMember\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
57=> symbol.ElementType.Accept(this);
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
523GenerateTypeSyntax(paramArrayParameter.ElementType, allowVar: false),
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
30=> symbol.ElementType.Accept(this);
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
27=> Visit(symbol.ElementType);
RQName\RQNodeBuilder.cs (1)
281var elementType = BuildType(arrayType.ElementType);
Shared\Extensions\ISymbolExtensions_Sorting.cs (1)
47IArrayTypeSymbol arrayType => GetNamedType(arrayType.ElementType),
StackTraceExplorer\AbstractStackTraceSymbolResolver.cs (1)
67currentType = currentArrayType.ElementType;
Microsoft.CodeAnalysis.Test.Utilities (1)
Diagnostics\EmptyArrayAnalyzer.cs (1)
73var elementType = (arrayCreation as IArrayTypeSymbol)?.ElementType;
Microsoft.CodeAnalysis.VisualBasic (5)
SymbolDisplay\SymbolDisplayVisitor.Types.vb (4)
23symbol.ElementType.Accept(Me) 29Dim underlyingNonArrayType As ITypeSymbol = symbol.ElementType 31underlyingNonArrayType = DirectCast(underlyingNonArrayType, IArrayTypeSymbol).ElementType 41arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
Symbols\ArrayTypeSymbol.vb (1)
395Private ReadOnly Property IArrayTypeSymbol_ElementType As ITypeSymbol Implements IArrayTypeSymbol.ElementType
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (1)
CastAnalyzer.vb (1)
49Dim conversionElementType = _semanticModel.Compilation.ClassifyConversion(castType, parameterType.ElementType)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (6)
TypeSyntaxGeneratorVisitor.vb (3)
42Dim underlyingNonArrayType = symbol.ElementType 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
145Dim conversion = SemanticModel.ClassifyConversion(argumentExpression, paramsType.ElementType)
VisualBasicTypeInferenceService.TypeInferrer.vb (2)
408.Select(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType)) 422SelectAsArray(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType))
Microsoft.CodeAnalysis.VisualBasic.Features (2)
UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (1)
72arrayType.ElementType.GenerateTypeSyntax(),
VisualBasicAddExplicitCastCodeFixProvider.vb (1)
145Dim conversion = SemanticModel.ClassifyConversion(argumentExpression, paramsType.ElementType)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (7)
CastAnalyzer.vb (1)
49Dim conversionElementType = _semanticModel.Compilation.ClassifyConversion(castType, parameterType.ElementType)
CodeGeneration\ParameterGenerator.vb (1)
45Dim elementType = arrayType.ElementType
TypeSyntaxGeneratorVisitor.vb (3)
42Dim underlyingNonArrayType = symbol.ElementType 44underlyingNonArrayType = (DirectCast(underlyingNonArrayType, IArrayTypeSymbol)).ElementType 54arrayType = TryCast(arrayType.ElementType, IArrayTypeSymbol)
VisualBasicTypeInferenceService.TypeInferrer.vb (2)
408.Select(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType)) 422SelectAsArray(Function(c) New TypeInferenceInfo(DirectCast(c.InferredType, IArrayTypeSymbol).ElementType))
Microsoft.CodeAnalysis.Workspaces (25)
AbstractTypeInferenceService.AbstractTypeInferrer.cs (1)
100result.Add(arrayTypeSymbol.ElementType);
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.UnderlyingNamedTypeVisitor.cs (1)
20=> Visit(symbol.ElementType);
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
35return symbol.ElementType.Accept(this);
ISymbolExtensions_Accessibility.cs (1)
99return IsSymbolAccessibleCore(((IArrayTypeSymbol)symbol).ElementType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
42symbol.ElementType.Accept(this);
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
22=> symbol.ElementType.Accept(this);
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (4)
315IArrayTypeSymbol a => ContainsAnonymousType(a.ElementType), 343type = arrayType.ElementType; 553return arr1.ElementType.IsMoreSpecificThan(arr2.ElementType);
Recommendations\AbstractRecommendationServiceRunner.cs (1)
248parameterType = arrayType.ElementType;
Shared\Extensions\ITypeSymbolExtensions.AnonymousTypeRemover.cs (2)
29var elementType = symbol.ElementType.Accept(this); 30if (elementType != null && elementType.Equals(symbol.ElementType))
Shared\Extensions\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (2)
103var elementType = symbol.ElementType.Accept(this); 104if (elementType != null && elementType.Equals(symbol.ElementType))
Shared\Extensions\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (2)
34var elementType = symbol.ElementType.Accept(this); 35if (elementType != null && elementType.Equals(symbol.ElementType))
Shared\Extensions\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (2)
29var elementType = symbol.ElementType.Accept(this); 30if (elementType != null && elementType.Equals(symbol.ElementType))
SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
146AreEquivalent(x.ElementType, y.ElementType, equivalentTypesWithDifferingAssemblies) &&
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
86GetHashCode(x.ElementType, currentHash)));
SymbolKey.ArrayTypeSymbolKey.cs (2)
15visitor.WriteSymbolKey(symbol.ElementType); 22var elementTypeResolution = reader.ReadSymbolKey(contextualSymbol?.ElementType, out var elementTypeFailureReason);
SymbolKey.cs (1)
25/// the "same" <see cref="IArrayTypeSymbol.ElementType"/> and
Microsoft.VisualStudio.LanguageServices (4)
Library\VsNavInfo\NavInfoFactory.cs (1)
88typeSymbol = ((IArrayTypeSymbol)typeSymbol).ElementType;
Progression\GraphNodeIdCreation.cs (2)
251partials.Add(await GetPartialForTypeAsync(arrayType.ElementType, CodeGraphNodeIdName.ParentType, solution, cancellationToken).ConfigureAwait(false)); 276symbol = ((IArrayTypeSymbol)symbol).ElementType;
ProjectSystem\AbstractEntryPointFinder.cs (1)
62var elementType = ((IArrayTypeSymbol)parameter.Type).ElementType;
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
GlyphExtensionsTests.cs (1)
216arrayTypeMock.SetupGet(s => s.ElementType).Returns(elementType);
Microsoft.VisualStudio.LanguageServices.Implementation (6)
CodeModel\CodeTypeRef.cs (1)
95return CodeTypeRef.Create(this.State, this, _projectId, ((IArrayTypeSymbol)typeSymbol).ElementType);
CodeModel\InternalElements\CodeParameter.cs (3)
200? ((IArrayTypeSymbol)type).ElementType 219arrayType = arrayType.ElementType as IArrayTypeSymbol; 238arrayType = arrayType.ElementType as IArrayTypeSymbol;
CodeModel\MetadataNameHelpers.cs (1)
49builder.Append(GetMetadataName(symbol.ElementType));
CodeModel\MethodXml\AbstractMethodXmlBuilder.cs (1)
393GenerateType(arrayType.ElementType, @implicit, assemblyQualify);
Microsoft.VisualStudio.LanguageServices.VisualBasic (5)
Help\VisualBasicHelpContextService.vb (1)
94symbolType = DirectCast(symbolType, IArrayTypeSymbol).ElementType
Help\VisualBasicHelpContextService.Visitor.vb (4)
871While symbolType.ElementType IsNot Nothing AndAlso TypeOf symbolType.ElementType Is IArrayTypeSymbol 872symbolType = DirectCast(symbolType.ElementType, IArrayTypeSymbol) 875result = _service.FormatSymbol(symbolType.ElementType)