A new snapshot with a few small fixes and bigger fix to support serialization of Throwable. Since java.lang.Throwable is a remapped type, it's fields don't really exist and therefor didn't get serialized (and I had totally failed to realise this). It turned out to be easy to add serialization support (compatible with Sun's serialization of Throwable) by using the (previously unknown to me) feature of serialization to manually do serialization in a way that is compatible with the default serialization implementation.
- Fixed ikvm.exe regression that caused it to fail to invoke main on package private classes. (Caused by reflection fix in the previous snapshot).
- Added (small) hack to reflection invoke to support deserialization of java.lang.Throwable (and subclasses).
- Fixed (de)serialization of java.lang.Throwable.
- Fixed small bug in Throwable.initCause(). Previously, if an exception was constructed and null was passed as the cause, you could later on use initCause() to change the cause.
- Added ldlen opcode to remapper.cs
- Fixed String.copyValueOf(char) to throw NullPointerException if array is null.
- Fixed String(char) constructor to throw NullPointerException if array is null.
- Fixed recently introduced reflection regression that (sometimes) causes NullPointerException when getting a method's declared exceptions. This mostly showed up running ikvmstub.
New snapshots: just the binaries and source plus binaries.