dotnet/roslyn
View on GitHub`SemanticModel.GetSymbolInfo` doesn't return a symbol for `FunctionPointerUnmanagedCallingConventionSyntax`
Open
#59,060 opened on Jan 25, 2022
Area-CompilersFeature - Function Pointershelp wanted
Repository metrics
- Stars
- (20,414 stars)
- PR merge metrics
- (Avg merge 6d 17h) (256 merged PRs in 30d)
Description
Version Used:
main
Steps to Reproduce:
Invoke GetSymbolInfo on a FunctionPointerUnmanagedCallingConventionSyntax, eg:
CSharpCompilation comp = CSharpCompilation.Create("MyAssembly", new[] { SyntaxFactory.ParseSyntaxTree(@"
public unsafe class C
{
delegate* unmanaged[MemberFunction]<void> f;
}") });
var tree = comp.SyntaxTrees[0];
var model = comp.GetSemanticModel(tree);
var node = tree.GetRoot().DescendantNodes().Where(node => node is FunctionPointerUnmanagedCallingConventionSyntax).Single();
var info = model.GetSymbolInfo(node); // info.Symbol is null.
Expected Behavior:
The type symbol for System.Runtime.CompilerServices.CallConvMemberFunction
Actual Behavior:
Null symbol