# Monday, January 24, 2011
« New Development Snapshot | Main | New Development Snapshot »
New Development Snapshot

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

Monday, January 24, 2011 7:08:30 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [8]