Skip to content

Use reflection signature format in linker warnings #2406

Open
@sbomer

Description

@sbomer

Warnings which mention ref parameters should be formatted as Method(ref ArgType), not Method(Type&) as they currently are.

edit:
Let's use this issue to track the signature formatting discussed in #2461. So far we have been making a best-effort attempt to format signatures as they appear in C#, but It sounds like we would prefer for the linker warnings to use reflection notation for method signatures (and for the analyzer warnings to continue using C# signature formats.)

The reflection signature format is documented here and includes things like + for nested classes and square brackets for generic argument lists. We need to update the linker signature formatting to match this.

Capturing some other ideas from @marek-safar in #2461 (comment):

We could explore the option of customizing the output based on the compiler used to produce the assembly but I'm really not sure it's worth it and it still has shortcomings because there are many different compilers (e.g. iron python).

Another option would be the explicit --diagnostic csharp option but that for me would make sense if we enhanced C# compiler to produce more metadadata for illinker to easily map any metadata to C# syntax.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions