1 implementation of IFunctionPointerTypeSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\FunctionPointerTypeSymbol.cs (1)
10internal sealed class FunctionPointerTypeSymbol : TypeSymbol, IFunctionPointerTypeSymbol
81 references to IFunctionPointerTypeSymbol
Microsoft.CodeAnalysis (8)
Compilation\Compilation.cs (4)
1099public IFunctionPointerTypeSymbol CreateFunctionPointerTypeSymbol( 1110protected abstract IFunctionPointerTypeSymbol CommonCreateFunctionPointerTypeSymbol( 1694var funcPtr = (IFunctionPointerTypeSymbol)s;
Operations\OperationExtensions.cs (1)
22return ((IFunctionPointerTypeSymbol)functionPointer.Target.Type!).Signature;
Symbols\SymbolVisitor.cs (1)
93public virtual void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
96public virtual TResult? VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
101public virtual TResult VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.CodeStyle (14)
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
86if (whenPartType is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
74public override bool VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (1)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature;
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
27public override Accessibility VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
136SymbolKind.FunctionPointerType => FunctionPointerTypesAreEquivalent((IFunctionPointerTypeSymbol)x, (IFunctionPointerTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 568private bool FunctionPointerTypesAreEquivalent(IFunctionPointerTypeSymbol x, IFunctionPointerTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolKey.FunctionPointerTypeSymbolKey.cs (5)
14private sealed class FunctionPointerTypeSymbolKey : AbstractSymbolKey<IFunctionPointerTypeSymbol> 18public sealed override void Create(IFunctionPointerTypeSymbol symbol, SymbolKeyWriter visitor) 35SymbolKeyReader reader, IFunctionPointerTypeSymbol? contextualSymbol, out string? failureReason) 42using var modifiersBuilder = reader.ReadSymbolKeyArray<IFunctionPointerTypeSymbol, INamedTypeSymbol>( 58using var parameterTypes = reader.ReadSymbolKeyArray<IFunctionPointerTypeSymbol, ITypeSymbol>(
SymbolKey.SymbolKeyWriter.cs (1)
455public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
45public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.CSharp (5)
Compilation\CSharpCompilation.cs (1)
3725protected override IFunctionPointerTypeSymbol CommonCreateFunctionPointerTypeSymbol(
SymbolDisplay\SymbolDisplayVisitor.Types.cs (1)
155public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Symbols\SymbolExtensions.cs (3)
671internal static IFunctionPointerTypeSymbol? GetPublicSymbol(this FunctionPointerTypeSymbol? symbol) 673return symbol.GetPublicSymbol<IFunctionPointerTypeSymbol>(); 814internal static FunctionPointerTypeSymbol? GetSymbol(this IFunctionPointerTypeSymbol? symbol)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
169if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
CSharpTypeInferenceService.TypeInferrer.cs (1)
1988else if (inferredType.InferredType is IFunctionPointerTypeSymbol functionPointerType)
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
125public override TypeSyntax VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.CSharp.Features (3)
CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (1)
169if (semanticModel.GetTypeInfo(testedExpression, cancellationToken).Type is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
SignatureHelp\InvocationExpressionSignatureHelpProvider.cs (2)
86if (invokedType is INamedTypeSymbol { TypeKind: TypeKind.Delegate } or IFunctionPointerTypeSymbol) 144else if (invokedType is IFunctionPointerTypeSymbol functionPointerType)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Semantics\FunctionPointerTests.cs (6)
1598var functionPointer = (IFunctionPointerTypeSymbol)methodSymbol.Parameters[0].Type; 1758var functionPointer = (IFunctionPointerTypeSymbol)methodSymbol.Parameters[0].Type; 1919var functionPointer = (IFunctionPointerTypeSymbol)m1InvocationSymbol.Parameters[0].Type;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (11)
Compilation\SymbolVisitorTests.cs (3)
157public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol) 341public override string VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol) 493public override int VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol, StringBuilder argument)
Symbols\FunctionPointerTypeSymbolTests.cs (8)
1268Assert.True(((IFunctionPointerTypeSymbol)typeInfo.Type!).Signature.ReturnType.IsErrorType()); 1559var ptr = comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.VarArgs); 1573var ptr = comp.CreateFunctionPointerTypeSymbol( 1588var ptr = comp.CreateFunctionPointerTypeSymbol( 1605var ptr = comp.CreateFunctionPointerTypeSymbol( 1623var ptr = comp.CreateFunctionPointerTypeSymbol( 1644var ptr = comp.CreateFunctionPointerTypeSymbol(@string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, convention); 1659var ptr = comp.CreateFunctionPointerTypeSymbol(@string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, SignatureCallingConvention.Unmanaged, ImmutableArray.Create(cdeclType, stdcallType)!);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (5)
FunctionPointerUtilities.cs (5)
169if (exprType is IFunctionPointerTypeSymbol ptrType) 177verifyNestedFunctionPointerSyntaxSemanticInfo(model, (IFunctionPointerTypeSymbol)exprType, paramSyntaxes); 234static void verifyNestedFunctionPointerSyntaxSemanticInfo(SemanticModel model, IFunctionPointerTypeSymbol ptrType, SeparatedSyntaxList<FunctionPointerParameterSyntax> paramSyntaxes) 262var paramPtrType = (IFunctionPointerTypeSymbol)semanticInfo.Type!;
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
CSharpTypeInferenceService.TypeInferrer.cs (1)
1988else if (inferredType.InferredType is IFunctionPointerTypeSymbol functionPointerType)
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
125public override TypeSyntax VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.Features (2)
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
86if (whenPartType is IPointerTypeSymbol or IFunctionPointerTypeSymbol)
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
34public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Microsoft.CodeAnalysis.Test.Utilities (1)
Compilation\TestOperationVisitor.cs (1)
559Assert.Same(((IFunctionPointerTypeSymbol)operation.Target.Type).Signature, signature);
Microsoft.CodeAnalysis.VisualBasic (1)
Compilation\VisualBasicCompilation.vb (1)
2879callingConventionTypes As ImmutableArray(Of INamedTypeSymbol)) As IFunctionPointerTypeSymbol
Microsoft.CodeAnalysis.Workspaces (19)
FindSymbols\FindReferences\Finders\ExplicitConversionSymbolReferenceFinder.UnderlyingNamedTypeVisitor.cs (1)
25public override INamedTypeSymbol? VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
74public override bool VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
ISymbolExtensions_Accessibility.cs (1)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature;
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
45public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
27public override Accessibility VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.AnonymousTypeRemover.cs (1)
38public override ITypeSymbol VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.SubstituteTypesVisitor.cs (1)
50public override ITypeSymbol VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnavailableTypeParameterRemover.cs (1)
43public override ITypeSymbol VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
Shared\Extensions\ITypeSymbolExtensions.UnnamedErrorTypeRemover.cs (1)
38public override ITypeSymbol VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)
SymbolEquivalenceComparer.EquivalenceVisitor.cs (4)
136SymbolKind.FunctionPointerType => FunctionPointerTypesAreEquivalent((IFunctionPointerTypeSymbol)x, (IFunctionPointerTypeSymbol)y, equivalentTypesWithDifferingAssemblies), 568private bool FunctionPointerTypesAreEquivalent(IFunctionPointerTypeSymbol x, IFunctionPointerTypeSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
SymbolKey.FunctionPointerTypeSymbolKey.cs (5)
14private sealed class FunctionPointerTypeSymbolKey : AbstractSymbolKey<IFunctionPointerTypeSymbol> 18public sealed override void Create(IFunctionPointerTypeSymbol symbol, SymbolKeyWriter visitor) 35SymbolKeyReader reader, IFunctionPointerTypeSymbol? contextualSymbol, out string? failureReason) 42using var modifiersBuilder = reader.ReadSymbolKeyArray<IFunctionPointerTypeSymbol, INamedTypeSymbol>( 58using var parameterTypes = reader.ReadSymbolKeyArray<IFunctionPointerTypeSymbol, ITypeSymbol>(
SymbolKey.SymbolKeyWriter.cs (1)
455public override void VisitFunctionPointerType(IFunctionPointerTypeSymbol symbol)