dotnet / dotnet/linker

Signature parser can't resolve local functions

Open
#1,286 2 comments 0 reactions 0 assignees View on GitHub
task
Dominant language
C#
Stars
392
Forks
128
Avg merge
2d 10h
Merged PRs (30d)
2

Description

There's no way to retrieve any member when passing the signature of a local function (`g__`), lambda method (`b__`), lambda display class (`c__`) or state machine type (`d__`) to the signature parser. This is somewhat problematic in the scenario in which a warning is triggered by code written inside any of these, since we are then forced to suppress warnings in the ~~parent method~~ declaring type.

```C#
[module: UnconditionalSuppressMessage("", "IL1234", Scope="member", Target="M:Test.Foo.{Bar}g_LocalMethod|1_0")]

namespace Test
{
public class Foo
{
public void Bar
{
void LocalMethod()
{
// Code that causes ILLinker to output warning 1234.
}

LocalMethod();
}
}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.