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

Do not merge yet: Fix decompiler to work with Roslyn-compiled code #503

Closed
wants to merge 24 commits into from

Conversation

SLaks
Copy link
Contributor

@SLaks SLaks commented Nov 10, 2014

Fixes #502

This is an ongoing pull request; I will keep pushing commits as I fix more issues.

You can merge this whenever you want; I'll make new pull requests as I make more fixes. (it would be better to merge more often)

The first 8 commits are from #501.
Can you please merge that before looking at this PR?
Once you do that, I'll rebase this so that it starts from upstream HEAD, without the duplicate commits.

Roslyn doesn't look at inherited true/false operators.
https://roslyn.codeplex.com/workitem/358
The current code is inconsistent in many places; this seems to be the
closest match.
This contains no functional changes, except that
it will ignore blank lines when comparing code.

This reduces duplicate code, and will make it
easier to add assertions for Roslyn compilers
Still requires the appropriate SDK to be installed.
Thanks @sharwell for much simpler implementation
As long as we reference all VS assemblies from this
package and make sure to stick to v10 packages, the
addin should work in every version of Visual Studio
starting with 2010.
This is why it's important to use extensions
like EditorConfig & Rebracer; it lets us avoid
these inconsistent messes.
explorer.SelectedItems returns object[]
Otherwise, ILSpy will fail to start if it isn't already running.
This bloats the VSIX to nearly 6MB, but there is no alternative.
The addin will now work on VS2010 without installing .Net 4.5.
This introduces lots of test failures which will hopefully be fixed
later.
See icsharpcode#502
Roslyn fully inlines the temporary TypedReference variable
These fields are already initialized to default(S).
Roslyn completely drops the duplicate initialization.
This makes it much easier to spot regressions from the legacy compiler
@SLaks SLaks changed the title Fix decompiler to work with Roslyn-compiled code Do not merge yet: Fix decompiler to work with Roslyn-compiled code Nov 13, 2014
@siegfriedpammer
Copy link
Member

Any update on this?

@SLaks
Copy link
Contributor Author

SLaks commented Feb 25, 2015

No; I haven't had time to work on this for a while.
There is also the question of #519.

@SamB
Copy link

SamB commented Jul 20, 2015

Hmm, well, it doesn't seem like you should avoid fixing bugs just because it isn't clear how best to test for their recurrence.

@SLaks
Copy link
Contributor Author

SLaks commented Jul 20, 2015

Sorry; I do not have time to work on this at the moment.

@SLaks SLaks closed this Jul 20, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ILSpy doesn't handle non-trivial language features from Roslyn compilers
5 participants