First step of moving all exception handling code to C#.

This commit is contained in:
jfrijters 2010-05-27 09:17:56 +00:00
Родитель 36a5e0ce64
Коммит 195f6ce2c6
3 изменённых файлов: 16 добавлений и 11 удалений

Просмотреть файл

@ -594,15 +594,6 @@ public final class ExceptionHelper
return type.IsInstanceOfType(t);
}
static ObjectStreamField[] getPersistentFields()
{
return new ObjectStreamField[] {
new ObjectStreamField("detailMessage", String.class),
new ObjectStreamField("cause", Throwable.class),
new ObjectStreamField("stackTrace", StackTraceElement[].class)
};
}
static void writeObject(Throwable t, ObjectOutputStream s) throws IOException
{
synchronized (t)

Просмотреть файл

@ -918,7 +918,7 @@
<field name="tracePart2" sig="Lcli.System.Diagnostics.StackTrace;" />
<clinit>
<body>
<call class="java.lang.ExceptionHelper" name="getPersistentFields" sig="()[Ljava.io.ObjectStreamField;" />
<call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="getPersistentFields" sig="()[Ljava.io.ObjectStreamField;" />
<stsfld class="java.lang.Throwable" name="serialPersistentFields" sig="[Ljava.io.ObjectStreamField;" />
<ldc_i4_0 />
<newarr sig="Ljava.lang.StackTraceElement;" />

Просмотреть файл

@ -1,5 +1,5 @@
/*
Copyright (C) 2002, 2004, 2005, 2006, 2007 Jeroen Frijters
Copyright (C) 2002, 2004-2007, 2010 Jeroen Frijters
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@ -160,5 +160,19 @@ namespace IKVM.NativeCode.java.lang
{
return o.GetType();
}
// called from map.xml
internal static global::java.io.ObjectStreamField[] getPersistentFields()
{
#if FIRST_PASS
return null;
#else
return new global::java.io.ObjectStreamField[] {
new global::java.io.ObjectStreamField("detailMessage", typeof(global::java.lang.String)),
new global::java.io.ObjectStreamField("cause", typeof(global::java.lang.Throwable)),
new global::java.io.ObjectStreamField("stackTrace", typeof(global::java.lang.StackTraceElement[]))
};
#endif
}
}
}