1 implementation of Signature
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\FunctionPointerTypeSymbol.cs (1)
21public IMethodSymbol Signature => _underlying.Signature.GetPublicSymbol();
68 references to Signature
Microsoft.CodeAnalysis (3)
Compilation\Compilation.cs (2)
1726if (!isContainingAssemblyInReferences(funcPtr.Signature.ReturnType)) 1731foreach (var param in funcPtr.Signature.Parameters)
Operations\OperationExtensions.cs (1)
22return ((IFunctionPointerTypeSymbol)functionPointer.Target.Type!).Signature;
Microsoft.CodeAnalysis.CodeStyle (15)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ISymbolExtensions_Accessibility.cs (1)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (2)
44foreach (var parameter in symbol.Signature.Parameters) 49symbol.Signature.ReturnType.Accept(this);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (3)
31accessibility = AccessibilityUtilities.Minimum(accessibility, symbol.Signature.ReturnType.Accept(this)); 33foreach (var parameter in symbol.Signature.Parameters) 40foreach (var callingConventionType in symbol.Signature.UnmanagedCallingConventionTypes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (7)
20var callingConvention = symbol.Signature.CallingConvention; 25visitor.WriteSymbolKeyArray(symbol.Signature.UnmanagedCallingConventionTypes); 28visitor.WriteRefKind(symbol.Signature.RefKind); 29visitor.WriteSymbolKey(symbol.Signature.ReturnType); 30visitor.WriteRefKindArray(symbol.Signature.Parameters); 31visitor.WriteParameterTypesArray(symbol.Signature.Parameters); 56var returnType = reader.ReadSymbolKey(contextualSymbol?.Signature.ReturnType, out var returnTypeFailureReason);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
582=> MethodsAreEquivalent(x.Signature, y.Signature, equivalentTypesWithDifferingAssemblies);
Microsoft.CodeAnalysis.CSharp (1)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (1)
153VisitMethod(symbol.Signature);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (9)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (8)
136if (symbol.Signature.CallingConvention is not System.Reflection.Metadata.SignatureCallingConvention.Default 139var conventionsList = symbol.Signature.CallingConvention switch 148symbol.Signature.UnmanagedCallingConventionTypes.IsEmpty 149? null : symbol.Signature.UnmanagedCallingConventionTypes.Select(type => GetConventionForString(type.Name["CallConv".Length..])), 151_ => throw ExceptionUtilities.UnexpectedValue(symbol.Signature.CallingConvention), 164var parameters = symbol.Signature.Parameters.Select(p => (p.Type, RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(p))) 166Type: symbol.Signature.ReturnType, 167RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(isScoped: false, symbol.Signature.RefKind, isParams: false, forFunctionPointerReturnParameter: true))])
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1954yield return new TypeInferenceInfo(functionPointerType.Signature.ConvertToType(this.Compilation));
Microsoft.CodeAnalysis.CSharp.Features (1)
SignatureHelp\InvocationExpressionSignatureHelpProvider.cs (1)
137currentSymbol = functionPointerType.Signature;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (6)
Semantics\FunctionPointerTests.cs (6)
1621Assert.Equal(SpecialType.System_String, functionPointer.Signature.Parameters[0].Type.SpecialType); 1781Assert.Equal(SpecialType.System_String, functionPointer.Signature.ReturnType.SpecialType); 1942Assert.Equal(TypeKind.TypeParameter, functionPointer.Signature.ReturnType.TypeKind); 1943Assert.Equal(TypeKind.TypeParameter, functionPointer.Signature.Parameters[0].Type.TypeKind); 1946Assert.True(declaredSymbol.TypeParameters[0].Equals(functionPointer.Signature.ReturnType, TypeCompareKind.ConsiderEverything)); 1947Assert.True(declaredSymbol.TypeParameters[0].Equals(functionPointer.Signature.Parameters[0].Type, TypeCompareKind.ConsiderEverything));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (5)
Symbols\FunctionPointerTypeSymbolTests.cs (5)
1268Assert.True(((IFunctionPointerTypeSymbol)typeInfo.Type!).Signature.ReturnType.IsErrorType()); 1555Assert.Equal(SignatureCallingConvention.VarArgs, ptr.Signature.CallingConvention); 1623Assert.Equal("System.Runtime.InteropServices.InAttribute[missing]", ptr.Signature.RefCustomModifiers.Single().Modifier.ToTestDisplayString()); 1624Assert.Equal("System.Runtime.InteropServices.OutAttribute[missing]", ptr.Signature.Parameters.Single().RefCustomModifiers.Single().Modifier.ToTestDisplayString()); 1660Assert.Equal(SignatureCallingConvention.Unmanaged, ptr.Signature.CallingConvention);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
FunctionPointerUtilities.cs (1)
240var signature = ptrType.Signature;
Microsoft.CodeAnalysis.CSharp.Workspaces (9)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (8)
136if (symbol.Signature.CallingConvention is not System.Reflection.Metadata.SignatureCallingConvention.Default 139var conventionsList = symbol.Signature.CallingConvention switch 148symbol.Signature.UnmanagedCallingConventionTypes.IsEmpty 149? null : symbol.Signature.UnmanagedCallingConventionTypes.Select(type => GetConventionForString(type.Name["CallConv".Length..])), 151_ => throw ExceptionUtilities.UnexpectedValue(symbol.Signature.CallingConvention), 164var parameters = symbol.Signature.Parameters.Select(p => (p.Type, RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(p))) 166Type: symbol.Signature.ReturnType, 167RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(isScoped: false, symbol.Signature.RefKind, isParams: false, forFunctionPointerReturnParameter: true))])
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
1954yield return new TypeInferenceInfo(functionPointerType.Signature.ConvertToType(this.Compilation));
Microsoft.CodeAnalysis.Features (2)
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (2)
36symbol.Signature.ReturnType.Accept(this); 37foreach (var param in symbol.Signature.Parameters)
Microsoft.CodeAnalysis.Test.Utilities (1)
Compilation\TestOperationVisitor.cs (1)
571Assert.Same(((IFunctionPointerTypeSymbol)operation.Target.Type).Signature, signature);
Microsoft.CodeAnalysis.Workspaces (15)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ISymbolExtensions_Accessibility.cs (1)
105var funcPtrSignature = ((IFunctionPointerTypeSymbol)symbol).Signature;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (2)
44foreach (var parameter in symbol.Signature.Parameters) 49symbol.Signature.ReturnType.Accept(this);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (3)
31accessibility = AccessibilityUtilities.Minimum(accessibility, symbol.Signature.ReturnType.Accept(this)); 33foreach (var parameter in symbol.Signature.Parameters) 40foreach (var callingConventionType in symbol.Signature.UnmanagedCallingConventionTypes)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (7)
20var callingConvention = symbol.Signature.CallingConvention; 25visitor.WriteSymbolKeyArray(symbol.Signature.UnmanagedCallingConventionTypes); 28visitor.WriteRefKind(symbol.Signature.RefKind); 29visitor.WriteSymbolKey(symbol.Signature.ReturnType); 30visitor.WriteRefKindArray(symbol.Signature.Parameters); 31visitor.WriteParameterTypesArray(symbol.Signature.Parameters); 56var returnType = reader.ReadSymbolKey(contextualSymbol?.Signature.ReturnType, out var returnTypeFailureReason);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
582=> MethodsAreEquivalent(x.Signature, y.Signature, equivalentTypesWithDifferingAssemblies);