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

Setting always lose #1399

Closed
CreateAndInject opened this issue Jan 18, 2019 · 6 comments
Closed

Setting always lose #1399

CreateAndInject opened this issue Jan 18, 2019 · 6 comments

Comments

@CreateAndInject
Copy link
Contributor

Open the lastest ILSpy4, checked Show internal types and members
Close ILSpy4, and open ILSpy 3.2, then close ILSpy 3.2, open the lastest ILSpy4
Show internal types and members is unchecked.

I think this is why some people say something is missing.

@siegfriedpammer
Copy link
Member

Yes, this is a breaking change, because the setting went from bool to tri-state (enum).

I didn't want to introduce extra code to migrate the setting, because it would only be executed once.

@CreateAndInject
Copy link
Contributor Author

How about checked Show internal types and members by default? I think this setting is used mostly.

I write several plugins for ILSpy, but I don't want to migrate from Cecil to SRM, so I usually use ILSpy4 and old ILSpy at the same time.

@siegfriedpammer
Copy link
Member

siegfriedpammer commented Jan 18, 2019

I write several plugins for ILSpy, but I don't want to migrate from Cecil to SRM, so I usually use ILSpy4 and old ILSpy at the same time.

What exactly is missing in the decompiler type system, that makes it hard for you to update your plug-ins to version 4?

@CreateAndInject
Copy link
Contributor Author

CreateAndInject commented Jan 19, 2019

We have a high-level type system (ICSharpCode.Decompiler.TypeSystem) wrapped around SRM. Anytime you need Resolve(), that's a sure sign you should be working with the type system and not SRM directly. (only the type system provides a resolve implementation)

I find this in the wiki, what is Resolve()? Is it an extension method? Should I import some namespace to find it? Which namespace and type?

@siegfriedpammer
Copy link
Member

How about checked Show internal types and members by default? I think this setting is used mostly.

That was the original default value of the option in version 3. I fixed the default value of the option. Sorry for the inconvenience caused!

Note that we cannot support options of both version 3 and 4 at the same time, because the settings file usually gets overwritten. You would have to use the "/config:" command line option added in #1360.

@siegfriedpammer
Copy link
Member

We have a high-level type system (ICSharpCode.Decompiler.TypeSystem) wrapped around SRM. Anytime you need Resolve(), that's a sure sign you should be working with the type system and not SRM directly. (only the type system provides a resolve implementation)

I find this in the wiki, what is Resolve()? Is it an extension method? Should I import some namespace to find it? Which namespace and type?

"Resolve" refers to Cecil's "Resolve" methods.

@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

No branches or pull requests

2 participants