More IKVM.Reflection fixes to support mcs. Many thanks to Marek for his work.
OpenJDK 6 b21 has been released, so after this snapshot that needs to be integrated and we start preparing for the 0.46 release.
- Several AWT fixes.
- Image improvements.
- Added ikvm.runtime.Startup.addBootClassPathAssemby() API.
- Added -Xreference: option to ikvm.
- Fix scope id in IPv6 server socket accepted connections.
- Added support for loading resources from assemblies loaded in the LoadFrom context.
- Treat unrecognized ikvmc options as errors, instead of warnings.
- Added ikvm.internal.NotYetImplementedError and throw that instread of sun.reflect.generics.reflectiveObjects.NotImplementedException.
- Fixed bug that caused reflecting on a field of an unfinished type to throw an exception.
- IKVM.Reflection: Fix for big endian systems. Thanks to Marek Safar for reporting this.
- IKVM.Reflection: Add support for NETCF in rendering pseudo DllImportAttribute (i.e. skip fields that don't exist).
- IKVM.Reflection: Changed __ReadTypeName() to __TryReadTypeName() because it should fail when the type is a nested type (because the name of a nested type cannot be expressed by namespace + name).
- IKVM.Reflection: Type.Namespace property should not returned escaped string.
- IKVM.Reflection: Added Type.__Name and Type.__Namespace properties to allow the real (from the ECMA CLI point of view) namespace and names of types to be queried (for TypeDef and TypeBuilder only).
- IKVM.Reflection: Fixed a bunch of type name escaping bugs.
- IKVM.Reflection: Added support for nested types that use a namespace.
- IKVM.Reflection: Type.Name/Namespace/FullName fixes to make everything more compatible (including bugs) with .NET reflection.
- IKVM.Reflection: Added ModuleBuider.__DefineType() and TypeBuilder.__DefineNestedType() APIs.
- IKVM.Reflection: Prevent external subclassing. It's not part of the design to support that, now it is also enforced.
- IKVM.Reflection: Fixed copy/paste bug. A TypeRef pointing to ModuleRef should resolve the type in that module, not the assembly.
- IKVM.Reflection: Fixed Type.GetNestedType() and be more compatible with .NET reflection (i.e. ignore the namespace).
- IKVM.Reflection: Added Universe.CreateMissingAssembly() to create an assembly that automatically resolves any type that it is supposed to contain.
- IKVM.Reflection: Added Type.__IsMissing and Type.__ContainsMissingType properties to detect missing types.
- IKVM.Reflection: Patch by Marek Safar to implement framework unification for managed implementation of Universe.CompareAssemblyIdentity().
- IKVM.Reflection: Improved partial trust support.
- IKVM.Reflection: Added support for saving to a stream instead of a file.
- IKVM.Reflection: Fixed type resolution to match namespace and name separately, like Mono and the CLR do.
- IKVM.Reflection: Added Universe.EnableMissingTypeResolution() to enable missing type resolution in all assemblies.
- IKVM.Reflection: Various fixes to improve support for building mscorlib.
Binaries available here: ikvmbin-0.45.4041.zip