Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ILSpy doesn't handle non-trivial language features from Roslyn compilers #502

Closed
SLaks opened this issue Nov 9, 2014 · 2 comments
Closed
Milestone

Comments

@SLaks
Copy link
Contributor

SLaks commented Nov 9, 2014

Existing features like switch blocks, lambdas, iterators, and especially async are compiled differently by the Roslyn compiler, and ILSpy generates very ugly code for them (sometimes failing entirely).

These issues are especially evident when trying to decompile Dev14 itself, which is all compiled with Roslyn.

I will change the decompiler test cases to run each test with both the Roslyn compiler and the legacy compiler, and fix as many of the breakages as I can.

SLaks added a commit to SLaks/ILSpy that referenced this issue Nov 10, 2014
This introduces lots of test failures which will hopefully be fixed
later.
See icsharpcode#502
SLaks added a commit to SLaks/ILSpy that referenced this issue Nov 12, 2014
This introduces lots of test failures which will hopefully be fixed
later.
See icsharpcode#502
@rraallvv
Copy link

rraallvv commented Nov 3, 2016

I'm seeing this on the Xamarin Studio's Assembly browser too:

[CompilerGenerated]
[Serializable]
private sealed class <>c
{
    public static readonly Parser.<>c <>9 = new Parser.<>c ();

    public static Converter<TypeNode, string> <>9__77_0;

    public static Converter<TypeNode, string> <>9__75_0;

    public static Converter<TypeNode, string> <>9__74_0;

    public static Converter<TypeNode, string> <>9__73_0;

Is there a way to make ILSpy to correctly decompile the assemblies that generated that?

@siegfriedpammer siegfriedpammer added this to the 3.0 milestone Sep 7, 2017
@dgrunwald
Copy link
Member

The new decompiler engine (which just landed on the master branch) adds Roslyn support for all language features supported so far (see #829 details).

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants