-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Switching to a rust-native CIL emitting API #3
Comments
That would be great! This is the minimal API required to export the assembly, and everything else can be built on top of it. Validation is another thing I had planned, so if the exporter could also handle that, it would greatly help. As for any timeframes - don't worry. I believe it would be unreasonable to expect anyone puts in any more work than they can and are willing to. I always appreciate any help! |
Interesting. Why did you begin creating such a generic interface before you had any other impls lined up? |
I knew ilasm is not the end, and was always in need of replacement. I planned to have a self-contained C# lib with C API, and use the C# APIs directly to emit the final assembly. The idea was to keep ILASM alongside this replacement, to aid debugging. So this interface was designed more with ILASM in mind. |
I have created an issue describing what needs to be supported in order for codegen to emit all struts, unions, arrays and enums. |
Nice! I originally attempted to do it by making bindings to dnLib but that required a tool to generate the bindings and I burned out trying to design that. Then I just went with implementing my own metadata editor based on the spec, and that went a lot better, I just burned out because it's a lot of repetitive, tedious work. |
Hi! I saw this project on reddit and was very excited; I've been trying to accomplish this exact project before and stalled multiple times due to realizing the amount of work it would require and the potential for failure. However, I was halfway through writing an ECMA-335 compliant CIL ser/de (shorthand, not
serde
) library on my last attempt. Would you be interested in working together to port this compiler to my own CIL backend, to hopefully achieve better efficiency and maybe even better validation? Not to mention cutting out the need to invoke ILASM or any non-rust dependencies.If not, I'd still like to contribute to the project, and might make periodic PRs to improve it in whatever ways I see. I likely won't have a lot of time to dedicate to it any time soon, but I might be able to work on it every now and then.
The text was updated successfully, but these errors were encountered: