[Mono-dev] Porting mcs to IKVM.Reflection

Jeroen Frijters jeroen at sumatra.nl
Tue May 4 10:01:53 EDT 2010


Thanks for the IKVM.Reflection patches. I have a few questions about some of the changes.

- Why are the various _SetAttributes methods and the AssemblyBuilder.__SetName() methods necessary?
- Do you really need blob encoded pseudo custom attributes in the version info? I intentionally don't suppor that (and also include the attributes as regular attributes) to be compatible with .NET
- Why are all the stack height asserts commented out in ILGenerator, do you think they are wrong?


> -----Original Message-----
> From: Kornél Pál [mailto:kornelpal at gmail.com]
> Sent: Tuesday, May 04, 2010 2:03 PM
> To: mono-devel
> Cc: Miguel de Icaza; Marek Safar; Jeroen Frijters
> Subject: Porting mcs to IKVM.Reflection
> Hi,
> Inspired by http://tirania.org/blog/archive/2010/Apr-27.html I gave a
> try to port mcs to IKVM.Reflection.
> I addition to being able to have a single binary, mcs could run on
> MS.NET and we would not have to break MS.NET compatibility in
> System.Reflection.
> I've attached some work in progress patches both for mcs and
> IKVM.Reflection.
> I was impressed by the result that mcs is able to bootstrap itself,
> compile mscorlib.dll and its other requirements, and the resulting mcs
> is able to compile a bunch of Mono assemblies.
> Missing features:
> - security attributes
> - embedded resources
> - .netmodule support
> - debug info
> Also note that I was unable to figure out what MakeExpression methods
> are supposed to do but I had to disable them because they need
> System.Reflection types.
> mcs pathes are licensed under the MIT/X11 license.
> IKVM.Reflection patches are licensed under the zlib license.
> Kornél

More information about the Mono-devel-list mailing list