-
Notifications
You must be signed in to change notification settings - Fork 48
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
Reflexil 2.0 #4
Comments
Yep we have this on our list and we'll get to it soon. Of course, you are more than welcome to help us with that now that our source is available here. We'll gladly consider a pull request with that update. |
I am also thinking of directly integrating the JD plugin into the main Reflexil repo. Now that I wrote everything needed to support ILSpy, it should be easy. And it will be easier for you to not upgrade your codebase each time a new version is released. |
That is great Sebastien. Could you do this? If there's anything we could help with just let me know. |
Yes, I will start working on this soon. |
I made a quick review of the API surface, and I would need some stuff to properly integrate everything. 1- Have access to the list of all assemblies loaded into JustDecompile. You already expose a IAssemblyManagerService, so It would be great to have a property like: IEnumerable<IAssemblyDefinition> LoadedAssemblies 2- Override ToString() for all objects implementing [IAssemblyDefinition, ..., IFieldDefinition, etc.]. In fact all objects forwarding data from your Mono.Cecil implementation should also forward the ToString(). It should not break anything as your assemblies are obfuscated and currently those objects only return a non human readable Namespace.Typename as ToString(). And this should be useful for a better member matching with alternate code models (and great for debugging). 3- Expose something to hot replace an assembly given a filename and a stream. I made a pull request for ILSpy and Redgate also implemeted this into Reflector. This allow Reflexil to craft an assembly in memory and to give this assembly back to the 'host'. Something like this in the IAssemblyManagerService: IAssemblyDefinition HotReplaceAssembly(string file, Stream stream) This should also transparently refresh the treeview and re-select the proper node to preserve user selection. See https://github.com/icsharpcode/ILSpy/pull/523/files. Reflexil currently calls this after member injection/deletion and allow the user to manualy sync after a method alteration for exemple. 4- ITreeViewNavigatorService should expose the active treeview item like: ITreeViewItem ActiveItem Feel free to send me a beta build :) |
OK we can easily do all that. The chances are we are going to have a deliverable some time around Jan 20th. We have a release coming up the next week and that's why the delay. I'll be in touch again once we've done everything on our side. Thanks for the input. I really appreciate this. |
Great. Another request if possible on IEventAggregator : AssemblyLoadedEvent : CompositePresentationEvent<IAssemblyDefinition>
AssemblyUnloadedEvent : CompositePresentationEvent<IAssemblyDefinition> |
Should not be a problem. |
I am mailing a beta of JD with the new API to you now. Please, check it out. |
Seems that I am not in the mailing list. Can you add me please? sebastien[at]lebreton[dot]fr |
I sent it to an old address of your I had from years ago. Should be with you now. |
Nope still nothing. :( |
Well I have no failure notification or anything. That's really weird. Could you send me an e-mail to tsviatko.yovtchev[at]telerik[dot]com? I'll try replying to your message with and without attachment. |
Working on it... |
Hi,
Please update Reflexil plugin to v 2.0. it is already released for Redgate .Net Reflector.
Thank you
The text was updated successfully, but these errors were encountered: