3 implementations of IPointerTypeSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationPointerTypeSymbol.cs (1)
9internal class CodeGenerationPointerTypeSymbol : CodeGenerationTypeSymbol, IPointerTypeSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\PointerTypeSymbol.cs (1)
11internal sealed class PointerTypeSymbol : TypeSymbol, IPointerTypeSymbol
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationPointerTypeSymbol.cs (1)
9internal class CodeGenerationPointerTypeSymbol : CodeGenerationTypeSymbol, IPointerTypeSymbol
159 references to IPointerTypeSymbol
Microsoft.CodeAnalysis (7)
Compilation\Compilation.cs (3)
1079public IPointerTypeSymbol CreatePointerTypeSymbol(ITypeSymbol pointedAtType) 1084protected abstract IPointerTypeSymbol CommonCreatePointerTypeSymbol(ITypeSymbol elementType); 1682s = ((IPointerTypeSymbol)s).PointedAtType;
DocumentationCommentId.cs (1)
606public override bool VisitPointerType(IPointerTypeSymbol symbol)
Symbols\SymbolVisitor.cs (1)
88public virtual void VisitPointerType(IPointerTypeSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
91public virtual TResult? VisitPointerType(IPointerTypeSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
96public virtual TResult VisitPointerType(IPointerTypeSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.CodeStyle (27)
AbstractUseNullPropagationDiagnosticAnalyzer.cs (1)
148if (whenPartType is IPointerTypeSymbol)
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
86if (whenPartType is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
64public override bool VisitPointerType(IPointerTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (2)
102return IsSymbolAccessibleCore(((IPointerTypeSymbol)symbol).PointedAtType, within, null, out failedThroughTypeCheck); 168return IsSymbolAccessibleCore(((IPointerTypeSymbol)symbol.ContainingSymbol).PointedAtType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.cs (7)
316IPointerTypeSymbol p => ContainsAnonymousType(p.PointedAtType), 345case IPointerTypeSymbol pointerType: 558if (t1 is IPointerTypeSymbol) 560var p1 = (IPointerTypeSymbol)t1; 561var p2 = (IPointerTypeSymbol)t2;
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
65public override Accessibility VisitPointerType(IPointerTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
131SymbolKind.PointerType => PointerTypesAreEquivalent((IPointerTypeSymbol)x, (IPointerTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 561private bool PointerTypesAreEquivalent(IPointerTypeSymbol x, IPointerTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (3)
73SymbolKind.PointerType => CombineHashCodes((IPointerTypeSymbol)x, currentHash), 235private int CombineHashCodes(IPointerTypeSymbol x, int currentHash) 238Hash.Combine(typeof(IPointerTypeSymbol).GetHashCode(),
SymbolKey.cs (2)
56/// <item>Two <see cref="IPointerTypeSymbol"/>s are the "same" if they have 57/// the "same" <see cref="IPointerTypeSymbol.PointedAtType"/>.</item>
SymbolKey.PointerTypeSymbolKey.cs (4)
9private sealed class PointerTypeSymbolKey : AbstractSymbolKey<IPointerTypeSymbol> 13public sealed override void Create(IPointerTypeSymbol symbol, SymbolKeyWriter visitor) 17SymbolKeyReader reader, IPointerTypeSymbol? contextualSymbol, out string? failureReason) 33using var result = PooledArrayBuilder<IPointerTypeSymbol>.GetInstance(pointedAtTypeResolution.SymbolCount);
SymbolKey.SymbolKeyWriter.cs (1)
449public override void VisitPointerType(IPointerTypeSymbol pointerTypeSymbol)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
CodeGenerationSymbolFactory.cs (1)
349public static IPointerTypeSymbol CreatePointerTypeSymbol(ITypeSymbol pointedAtType)
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
71public override void VisitPointerType(IPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.CSharp (6)
Compilation\CSharpCompilation.cs (1)
3720protected override IPointerTypeSymbol CommonCreatePointerTypeSymbol(ITypeSymbol elementType)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (1)
142public override void VisitPointerType(IPointerTypeSymbol symbol)
Symbols\PublicModel\PointerTypeSymbol.cs (2)
34ITypeSymbol IPointerTypeSymbol.PointedAtType 47ImmutableArray<CustomModifier> IPointerTypeSymbol.CustomModifiers
Symbols\SymbolExtensions.cs (2)
665internal static IPointerTypeSymbol? GetPublicSymbol(this PointerTypeSymbol? symbol) 667return symbol.GetPublicSymbol<IPointerTypeSymbol>();
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
CSharpTypeStyleHelper.State.cs (1)
120if (type is IPointerTypeSymbol pointerType)
CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
169if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (5)
CSharpTypeInferenceService.TypeInferrer.cs (3)
697DetermineTypeParameterMapping(((IPointerTypeSymbol)inferredType).PointedAtType, ((IPointerTypeSymbol)returnType).PointedAtType, result); 1983if (inferredType.InferredType is IPointerTypeSymbol pointerType)
ExpressionGenerator.cs (1)
93_ => type == null || type.IsReferenceType || type is IPointerTypeSymbol || type.IsNullable()
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
346public override TypeSyntax VisitPointerType(IPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (3)
CodeGen\CodeGenTupleTest.cs (3)
14448var m5TuplePointer = (IPointerTypeSymbol)test.GetMember<IMethodSymbol>("M5").ReturnType; 14455m5TuplePointer = (IPointerTypeSymbol)((IMethodSymbol)symbolInfo.Symbol).ReturnType;
Microsoft.CodeAnalysis.CSharp.Features (1)
CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
169if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (37)
Semantics\FunctionPointerTests.cs (1)
189Assert.True(typeInfo.ConvertedType is IPointerTypeSymbol { PointedAtType: { SpecialType: SpecialType.System_Void } });
Semantics\RefLocalsAndReturnsTests.cs (2)
4388Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)model.GetTypeInfo(left).Type).PointedAtType.SpecialType); 4416Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)model.GetTypeInfo(left).Type).PointedAtType.SpecialType);
Semantics\StackAllocInitializerTests.cs (13)
1038Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj1Value.Type).PointedAtType.SpecialType); 1046Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.Type).PointedAtType.SpecialType); 1047Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.ConvertedType).PointedAtType.SpecialType); 1062Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.Type).PointedAtType.SpecialType); 1063Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.ConvertedType).PointedAtType.SpecialType); 1070Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj5Value.Type).PointedAtType.SpecialType); 1071Assert.Equal(SpecialType.System_Double, ((IPointerTypeSymbol)obj5Value.ConvertedType).PointedAtType.SpecialType); 1149Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.Type).PointedAtType.SpecialType); 1150Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.ConvertedType).PointedAtType.SpecialType); 1165Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.Type).PointedAtType.SpecialType); 1166Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.ConvertedType).PointedAtType.SpecialType); 1173Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj5Value.Type).PointedAtType.SpecialType); 1174Assert.Equal(SpecialType.System_Double, ((IPointerTypeSymbol)obj5Value.ConvertedType).PointedAtType.SpecialType);
Semantics\StackAllocSpanExpressionsTests.cs (13)
60Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj1Value.Type).PointedAtType.SpecialType); 68Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.Type).PointedAtType.SpecialType); 69Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.ConvertedType).PointedAtType.SpecialType); 84Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.Type).PointedAtType.SpecialType); 85Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.ConvertedType).PointedAtType.SpecialType); 92Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj5Value.Type).PointedAtType.SpecialType); 93Assert.Equal(SpecialType.System_Double, ((IPointerTypeSymbol)obj5Value.ConvertedType).PointedAtType.SpecialType); 143Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.Type).PointedAtType.SpecialType); 144Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj2Value.ConvertedType).PointedAtType.SpecialType); 159Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.Type).PointedAtType.SpecialType); 160Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj4Value.ConvertedType).PointedAtType.SpecialType); 167Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)obj5Value.Type).PointedAtType.SpecialType); 168Assert.Equal(SpecialType.System_Double, ((IPointerTypeSymbol)obj5Value.ConvertedType).PointedAtType.SpecialType);
Semantics\UnsafeTests.cs (8)
4434Assert.Equal(SpecialType.System_Int32, ((IPointerTypeSymbol)type).PointedAtType.SpecialType); 4503Assert.Equal(TypeKind.Error, ((IPointerTypeSymbol)typeInfo.Type).PointedAtType.TypeKind); 4541Assert.Equal(TypeKind.Error, ((IPointerTypeSymbol)typeInfo.Type).PointedAtType.TypeKind); 5550Assert.NotEqual(SpecialType.System_Void, ((IPointerTypeSymbol)type).PointedAtType.SpecialType); 5554Assert.Equal(SpecialType.System_Void, ((IPointerTypeSymbol)convertedType).PointedAtType.SpecialType); 7349Assert.Equal(SpecialType.System_Char, ((IPointerTypeSymbol)type).PointedAtType.SpecialType); 8459Assert.Equal(SpecialType.System_Char, ((IPointerTypeSymbol)stackAllocSummary.Type).PointedAtType.SpecialType); 8460Assert.Equal(SpecialType.System_Void, ((IPointerTypeSymbol)stackAllocSummary.ConvertedType).PointedAtType.SpecialType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (3)
Compilation\SymbolVisitorTests.cs (3)
151public override void VisitPointerType(IPointerTypeSymbol symbol) 334public override string VisitPointerType(IPointerTypeSymbol symbol) 486public override int VisitPointerType(IPointerTypeSymbol symbol, StringBuilder argument)
Microsoft.CodeAnalysis.CSharp.Workspaces (7)
CodeGeneration\CSharpSyntaxGenerator.cs (1)
3250type is IPointerTypeSymbol ||
CSharpTypeInferenceService.TypeInferrer.cs (3)
697DetermineTypeParameterMapping(((IPointerTypeSymbol)inferredType).PointedAtType, ((IPointerTypeSymbol)returnType).PointedAtType, result); 1983if (inferredType.InferredType is IPointerTypeSymbol pointerType)
CSharpTypeStyleHelper.State.cs (1)
120if (type is IPointerTypeSymbol pointerType)
ExpressionGenerator.cs (1)
93_ => type == null || type.IsReferenceType || type is IPointerTypeSymbol || type.IsNullable()
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
346public override TypeSyntax VisitPointerType(IPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
54public sealed override void VisitPointerType(IPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.Features (11)
AbstractUseNullPropagationDiagnosticAnalyzer.cs (1)
148if (whenPartType is IPointerTypeSymbol)
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
86if (whenPartType is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
ExtractMethod\MethodExtractor.Analyzer.cs (1)
616if (!type.IsValueType || type is IPointerTypeSymbol || type.IsEnumType())
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
46public override void VisitPointerType(IPointerTypeSymbol pointerTypeSymbol)
GenerateMember\AbstractGenerateMemberService.cs (1)
128if (typeInfo.Type is IPointerTypeSymbol pointerType)
GenerateMember\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
65public override ValueTask VisitPointerType(IPointerTypeSymbol symbol)
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
119public override void VisitPointerType(IPointerTypeSymbol symbol)
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
78public override bool VisitPointerType(IPointerTypeSymbol symbol)
RQName\RQNodeBuilder.cs (1)
269else if (symbol is IPointerTypeSymbol pointerType)
Shared\Extensions\ISymbolExtensions_2.cs (1)
129return ((IPointerTypeSymbol)symbol).PointedAtType.GetGlyph();
Shared\Extensions\ISymbolExtensions_Sorting.cs (1)
48IPointerTypeSymbol pointerType => GetNamedType(pointerType.PointedAtType),
Microsoft.CodeAnalysis.VisualBasic (2)
Compilation\VisualBasicCompilation.vb (1)
2869Protected Overrides Function CommonCreatePointerTypeSymbol(elementType As ITypeSymbol) As IPointerTypeSymbol
SymbolDisplay\SymbolDisplayVisitor.Types.vb (1)
76Public Overrides Sub VisitPointerType(symbol As IPointerTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (1)
TypeSyntaxGeneratorVisitor.vb (1)
197Public Overrides Function VisitPointerType(symbol As IPointerTypeSymbol) As TypeSyntax
Microsoft.CodeAnalysis.VisualBasic.Workspaces (1)
TypeSyntaxGeneratorVisitor.vb (1)
197Public Overrides Function VisitPointerType(symbol As IPointerTypeSymbol) As TypeSyntax
Microsoft.CodeAnalysis.Workspaces (33)
CodeGenerationSymbolFactory.cs (1)
349public static IPointerTypeSymbol CreatePointerTypeSymbol(ITypeSymbol pointedAtType)
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.UnderlyingNamedTypeVisitor.cs (1)
28public override INamedTypeSymbol? VisitPointerType(IPointerTypeSymbol symbol)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
64public override bool VisitPointerType(IPointerTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (2)
102return IsSymbolAccessibleCore(((IPointerTypeSymbol)symbol).PointedAtType, within, null, out failedThroughTypeCheck); 168return IsSymbolAccessibleCore(((IPointerTypeSymbol)symbol.ContainingSymbol).PointedAtType, within, null, out failedThroughTypeCheck);
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
71public override void VisitPointerType(IPointerTypeSymbol symbol)
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
65public override Accessibility VisitPointerType(IPointerTypeSymbol symbol)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (7)
316IPointerTypeSymbol p => ContainsAnonymousType(p.PointedAtType), 345case IPointerTypeSymbol pointerType: 558if (t1 is IPointerTypeSymbol) 560var p1 = (IPointerTypeSymbol)t1; 561var p2 = (IPointerTypeSymbol)t2;
Recommendations\AbstractRecommendationServiceRunner.cs (1)
323if (isForDereference && container is IPointerTypeSymbol pointerType)
Shared\Extensions\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
58public override ITypeSymbol VisitPointerType(IPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
112public override ITypeSymbol VisitPointerType(IPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
60public override ITypeSymbol VisitPointerType(IPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
60public override ITypeSymbol VisitPointerType(IPointerTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
131SymbolKind.PointerType => PointerTypesAreEquivalent((IPointerTypeSymbol)x, (IPointerTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 561private bool PointerTypesAreEquivalent(IPointerTypeSymbol x, IPointerTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolEquivalenceComparer.GetHashCodeVisitor.cs (3)
73SymbolKind.PointerType => CombineHashCodes((IPointerTypeSymbol)x, currentHash), 235private int CombineHashCodes(IPointerTypeSymbol x, int currentHash) 238Hash.Combine(typeof(IPointerTypeSymbol).GetHashCode(),
SymbolKey.cs (2)
56/// <item>Two <see cref="IPointerTypeSymbol"/>s are the "same" if they have 57/// the "same" <see cref="IPointerTypeSymbol.PointedAtType"/>.</item>
SymbolKey.PointerTypeSymbolKey.cs (4)
9private sealed class PointerTypeSymbolKey : AbstractSymbolKey<IPointerTypeSymbol> 13public sealed override void Create(IPointerTypeSymbol symbol, SymbolKeyWriter visitor) 17SymbolKeyReader reader, IPointerTypeSymbol? contextualSymbol, out string? failureReason) 33using var result = PooledArrayBuilder<IPointerTypeSymbol>.GetInstance(pointedAtTypeResolution.SymbolCount);
SymbolKey.SymbolKeyWriter.cs (1)
449public override void VisitPointerType(IPointerTypeSymbol pointerTypeSymbol)
Microsoft.VisualStudio.LanguageServices (5)
Library\VsNavInfo\NavInfoFactory.cs (1)
84typeSymbol = ((IPointerTypeSymbol)typeSymbol).PointedAtType;
Progression\GraphNodeIdCreation.cs (4)
132else if (symbol is IPointerTypeSymbol pointerType) 212private static async Task<GraphNodeId> GetPartialForPointerTypeAsync(IPointerTypeSymbol pointerType, GraphNodeIdName nodeName, Solution solution, CancellationToken cancellationToken) 219pointerType = (IPointerTypeSymbol)pointerType.PointedAtType; 281symbol = ((IPointerTypeSymbol)symbol).PointedAtType;
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
GlyphExtensionsTests.cs (1)
246var pointerTypeMock = symbolMock.As<IPointerTypeSymbol>();
Microsoft.VisualStudio.LanguageServices.Implementation (3)
CodeModel\CodeTypeRef.cs (1)
99return CodeTypeRef.Create(this.State, this, _projectId, ((IPointerTypeSymbol)typeSymbol).PointedAtType);
CodeModel\MetadataNameHelpers.cs (2)
56private static void AppendPointerType(IPointerTypeSymbol symbol, StringBuilder builder) 117AppendPointerType((IPointerTypeSymbol)symbol, builder);
Microsoft.VisualStudio.LanguageServices.VisualBasic (1)
CodeModel\VisualBasicCodeModelService.vb (1)
762typeSymbol = DirectCast(typeSymbol, IPointerTypeSymbol).PointedAtType