I renamed the assemblies and also took the opportunity to change the directory structure and Visual Studio project names accordingly. This is quite a painful process and also loses the cvs history for all the moved files (at least, I couldn't find any way of moving files in cvs, other than add/remove).
Hopefully this will be the only time I have to make these changes. Breaking all build scripts and what have you, isn't fun.
Note: To build this version, you require either Jikes 1.19 or 1.21.
Here's what's new:
- Changed all assembly versions to 0.7.* (except for the IKVM.GNU.Classpath assembly, that now has version 0.9, to indicate the GNU Classpath version)
- Removed the StackTraceInfo attribute (wasn't supported by the stack trace code anymore).
- Made ExceptionHelper (in ExceptionHelper.cs) private.
- Changed ThrowsAttribute to take a string array instead of a single string (to support reporting the throws clause in declaration order).
- Changed ImplementsAttribute to take a string array instead of a single Type (to support reporting the implemented interfaces in declaration order).
- Made handling of InnerClasses attribute more robust (this applies to ikvmc only, the dynamic runtime ignores this attribute).
- Made the op_Implicit method that is added to classes that implement ghost interfaces hidden from reflection.
- Added MethodAttributes.CheckAccessOnOverride to virtual method definitions, to prevent package private methods from being overridden in another assembly.
- Fixed reflection on sealed .NET types to also add public method for private interface implementations.
- Added a version string to the JavaModuleAttribute, to record the IKVM runtime version that was used to generate the module.
- Removed unused NativeCode.java.io.File class.
- Removed unused NativeCode.java.nio.channels.FileChannelImpl class.
- Fixed a bug in the exception untangling code and cleaned the code up a bit.
- Fixed FileChannelImpl to catch System.NotSupportedException and rethrow a FileNotFoundException.
- Added explicit call to Environment.Exit to ikvmc to workaround background threads starting up due to static initializers running (due to .NET Framework reflection bug).
- Fixed ikvmc regression that caused ArgumentException when compiling a bunch of classes with a wildcard expression.
- Added dummy ftp protocol handler to work around Classpath bug (when it sees a file: url with a host, it treats it as an ftp url, but since the ftp protocol doesn't exist, the code gets stuck in an infinite loop).
New snapshots: just the binaries and source plus binaries.