diff options
author | jfrijters <jfrijters> | 2010-05-27 20:07:56 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2010-05-27 20:07:56 +0400 |
commit | b242c1026b020c22f26c09b145b9de2fc7b6c16f (patch) | |
tree | 105dae3d8969e1365a3f9fcce1fbc05269051cda | |
parent | 2cbe4b732b0d86ce6e71093631381d916084d324 (diff) |
Moved ExceptionHelper into proper namespace and some cleanup.
-rw-r--r-- | openjdk/map.xml | 48 | ||||
-rw-r--r-- | runtime/ExceptionHelper.cs | 66 | ||||
-rw-r--r-- | runtime/common.cs | 12 | ||||
-rw-r--r-- | runtime/openjdk.cs | 2 |
4 files changed, 58 insertions, 70 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml index 1fa5586a..f0e78c34 100644 --- a/openjdk/map.xml +++ b/openjdk/map.xml @@ -918,7 +918,7 @@ <field name="tracePart2" sig="Lcli.System.Diagnostics.StackTrace;" /> <clinit> <body> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="getPersistentFields" sig="()[Ljava.io.ObjectStreamField;" /> + <call type="IKVM.Internal.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;" /> @@ -951,7 +951,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="MapExceptionFast" sig="(Ljava.lang.Throwable;Z)Ljava.lang.Throwable;" /> + <call type="IKVM.Internal.ExceptionHelper" name="MapExceptionFast" sig="(Ljava.lang.Throwable;Z)Ljava.lang.Throwable;" /> <ret /> </body> </method> @@ -964,7 +964,7 @@ <ldarg_0 /> <ldarg_1 /> <ldarg_2 /> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="MapException" sig="(Ljava.lang.Throwable;Lcli.System.Type;Z)Ljava.lang.Throwable;" /> + <call type="IKVM.Internal.ExceptionHelper" name="MapException" sig="(Ljava.lang.Throwable;Lcli.System.Type;Z)Ljava.lang.Throwable;" /> <ret /> </body> </method> @@ -975,7 +975,7 @@ </attribute> <body> <ldarg_0 /> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="UnmapException" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" /> + <call type="IKVM.Internal.ExceptionHelper" name="UnmapException" sig="(Ljava.lang.Throwable;)Ljava.lang.Throwable;" /> <ret /> </body> </method> @@ -986,7 +986,7 @@ </attribute> <body> <ldarg_0 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="FixateException" sig="(Ljava.lang.Throwable;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="FixateException" sig="(Ljava.lang.Throwable;)V" /> <ldarg_0 /> <ret /> </body> @@ -997,7 +997,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="readObject" sig="(Ljava.lang.Throwable;Ljava.io.ObjectInputStream;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="readObject" sig="(Ljava.lang.Throwable;Ljava.io.ObjectInputStream;)V" /> <ret /> </body> </method> @@ -1006,7 +1006,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call type="IKVM.NativeCode.java.lang.ExceptionHelper" name="writeObject" sig="(Ljava.lang.Throwable;Ljava.io.ObjectOutputStream;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="writeObject" sig="(Ljava.lang.Throwable;Ljava.io.ObjectOutputStream;)V" /> <ret /> </body> </method> @@ -1039,7 +1039,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" /> + <call type="IKVM.Internal.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" /> <call type="System.Exception" name=".ctor" sig="(Ljava.lang.String;)V" /> <ldarg_0 /> <ldarg_0 /> @@ -1069,7 +1069,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" /> + <call type="IKVM.Internal.ExceptionHelper" name="FilterMessage" sig="(Ljava.lang.String;)Ljava.lang.String;" /> <ldarg_2 /> <call type="System.Exception" name=".ctor" sig="(Ljava.lang.String;Ljava.lang.Throwable;)V" /> <ldarg_0 /> @@ -1102,7 +1102,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="GetMessageFromCause" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" /> + <call type="IKVM.Internal.ExceptionHelper" name="GetMessageFromCause" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" /> <ldarg_1 /> <call type="System.Exception" name=".ctor" sig="(Ljava.lang.String;Ljava.lang.Throwable;)V" /> <ldarg_0 /> @@ -1135,15 +1135,15 @@ </body> </constructor> <method name="printStackTrace" sig="()V" modifiers="public"> - <redirect class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)V" type="static" /> + <redirect class="cli.IKVM.Internal.ExceptionHelper" sig="(Ljava.lang.Throwable;)V" type="static" /> </method> <method name="printStackTrace" sig="(Ljava.io.PrintStream;)V" modifiers="public"> <parameter name="s" /> - <redirect class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintStream;)V" type="static" /> + <redirect class="cli.IKVM.Internal.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintStream;)V" type="static" /> </method> <method name="printStackTrace" sig="(Ljava.io.PrintWriter;)V" modifiers="public"> <parameter name="s" /> - <redirect class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintWriter;)V" type="static" /> + <redirect class="cli.IKVM.Internal.ExceptionHelper" sig="(Ljava.lang.Throwable;Ljava.io.PrintWriter;)V" type="static" /> </method> <method name="getMessage" sig="()Ljava.lang.String;" modifiers="public"> <body> @@ -1158,7 +1158,7 @@ </alternateBody> </method> <method name="getLocalizedMessage" sig="()Ljava.lang.String;" modifiers="public"> - <redirect class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" /> + <redirect class="cli.IKVM.Internal.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" /> </method> <method name="fillInStackTrace" sig="()Ljava.lang.Throwable;" modifiers="public"> <body> @@ -1192,7 +1192,7 @@ </body> <alternateBody> <ldarg_0 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="fillInStackTrace" sig="(Ljava.lang.Throwable;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="fillInStackTrace" sig="(Ljava.lang.Throwable;)V" /> <ldarg_0 /> <ret /> </alternateBody> @@ -1208,7 +1208,7 @@ <ldarg_0 /> <ldfld class="java.lang.Throwable" name="cause" sig="Ljava.lang.Throwable;" /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="checkInitCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;Ljava.lang.Throwable;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="checkInitCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;Ljava.lang.Throwable;)V" /> <ldarg_0 /> <ldarg_1 /> <stfld class="java.lang.Throwable" name="cause" sig="Ljava.lang.Throwable;" /> @@ -1226,7 +1226,7 @@ <ldarg_0 /> <ldnull /> <ldnull /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="checkInitCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;Ljava.lang.Throwable;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="checkInitCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;Ljava.lang.Throwable;)V" /> <ldarg_0 /> <ret /> </alternateBody> @@ -1236,7 +1236,7 @@ <ldarg_0 /> <ldarg_0 /> <ldfld class="java.lang.Throwable" name="cause" sig="Ljava.lang.Throwable;" /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="getCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;)Ljava.lang.Throwable;" /> + <call type="IKVM.Internal.ExceptionHelper" name="getCause" sig="(Ljava.lang.Throwable;Ljava.lang.Throwable;)Ljava.lang.Throwable;" /> <ret /> </body> <alternateBody> @@ -1255,7 +1255,7 @@ </body> <alternateBody> <ldarg_0 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="getStackTrace" sig="(Ljava.lang.Throwable;)[Ljava.lang.StackTraceElement;" /> + <call type="IKVM.Internal.ExceptionHelper" name="getStackTrace" sig="(Ljava.lang.Throwable;)[Ljava.lang.StackTraceElement;" /> <ret /> </alternateBody> </method> @@ -1276,7 +1276,7 @@ <ldfld class="java.lang.Throwable" name="tracePart1" sig="Lcli.System.Diagnostics.StackTrace;" /> <ldarg_0 /> <ldfld class="java.lang.Throwable" name="tracePart2" sig="Lcli.System.Diagnostics.StackTrace;" /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="computeStackTrace" sig="(Ljava.lang.Throwable;Lcli.System.Diagnostics.StackTrace;Lcli.System.Diagnostics.StackTrace;)[Ljava.lang.StackTraceElement;" /> + <call type="IKVM.Internal.ExceptionHelper" name="computeStackTrace" sig="(Ljava.lang.Throwable;Lcli.System.Diagnostics.StackTrace;Lcli.System.Diagnostics.StackTrace;)[Ljava.lang.StackTraceElement;" /> <stfld class="java.lang.Throwable" name="stackTrace" sig="[Ljava.lang.StackTraceElement;" /> <ldarg_0 /> <ldnull /> @@ -1297,7 +1297,7 @@ </body> <alternateBody> <ldarg_0 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="getStackTrace" sig="(Ljava.lang.Throwable;)[Ljava.lang.StackTraceElement;" /> + <call type="IKVM.Internal.ExceptionHelper" name="getStackTrace" sig="(Ljava.lang.Throwable;)[Ljava.lang.StackTraceElement;" /> <ret /> </alternateBody> </method> @@ -1306,7 +1306,7 @@ <body> <ldarg_0 /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="checkStackTrace" sig="([Ljava.lang.StackTraceElement;)[Ljava.lang.StackTraceElement;" /> + <call type="IKVM.Internal.ExceptionHelper" name="checkStackTrace" sig="([Ljava.lang.StackTraceElement;)[Ljava.lang.StackTraceElement;" /> <stfld class="java.lang.Throwable" name="stackTrace" sig="[Ljava.lang.StackTraceElement;" /> <ldarg_0 /> <ldnull /> @@ -1319,12 +1319,12 @@ <alternateBody> <ldarg_0 /> <ldarg_1 /> - <call class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" name="setStackTrace" sig="(Ljava.lang.Throwable;[Ljava.lang.StackTraceElement;)V" /> + <call type="IKVM.Internal.ExceptionHelper" name="setStackTrace" sig="(Ljava.lang.Throwable;[Ljava.lang.StackTraceElement;)V" /> <ret /> </alternateBody> </method> <method name="toString" sig="()Ljava.lang.String;" modifiers="public"> - <redirect class="cli.IKVM.NativeCode.java.lang.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" /> + <redirect class="cli.IKVM.Internal.ExceptionHelper" sig="(Ljava.lang.Throwable;)Ljava.lang.String;" type="static" /> </method> <method name="GetObjectData" sig="(Lcli.System.Runtime.Serialization.SerializationInfo;Lcli.System.Runtime.Serialization.StreamingContext;)V" modifiers="public"> <attribute type="System.Security.Permissions.SecurityPermissionAttribute" sig="(Lcli.System.Security.Permissions.SecurityAction;)V"> diff --git a/runtime/ExceptionHelper.cs b/runtime/ExceptionHelper.cs index 822a70d9..aa3df189 100644 --- a/runtime/ExceptionHelper.cs +++ b/runtime/ExceptionHelper.cs @@ -34,12 +34,13 @@ using Interlocked = System.Threading.Interlocked; using MethodBase = System.Reflection.MethodBase; using ObjectInputStream = java.io.ObjectInputStream; using ObjectOutputStream = java.io.ObjectOutputStream; +using ObjectStreamField = java.io.ObjectStreamField; using StackTraceElement = java.lang.StackTraceElement; #if !FIRST_PASS using Throwable = java.lang.Throwable; #endif -namespace IKVM.NativeCode.java.lang +namespace IKVM.Internal { static class ExceptionHelper { @@ -50,7 +51,7 @@ namespace IKVM.NativeCode.java.lang private static readonly Type System_Reflection_MethodBase = typeof(MethodBase); private static readonly Type System_Exception = typeof(Exception); #if !FIRST_PASS - private static readonly global::ikvm.@internal.WeakIdentityMap exceptions = new global::ikvm.@internal.WeakIdentityMap(); + private static readonly ikvm.@internal.WeakIdentityMap exceptions = new ikvm.@internal.WeakIdentityMap(); static ExceptionHelper() { @@ -115,7 +116,7 @@ namespace IKVM.NativeCode.java.lang if (tracePart1 != null) { int skip1 = 0; - if (cleanStackTrace && t is global::java.lang.NullPointerException && tracePart1.FrameCount > 0) + if (cleanStackTrace && t is java.lang.NullPointerException && tracePart1.FrameCount > 0) { // HACK if a NullPointerException originated inside an instancehelper method, // we assume that the reference the method was called on was really the one that was null, @@ -156,7 +157,7 @@ namespace IKVM.NativeCode.java.lang } skip++; } - Type exceptionType = getTypeFromObject(t); + Type exceptionType = t.GetType(); while (tracePart2.FrameCount > skip) { mb = tracePart2.GetFrame(skip).GetMethod(); @@ -234,7 +235,7 @@ namespace IKVM.NativeCode.java.lang { try { - fileName = new global::System.IO.FileInfo(fileName).Name; + fileName = new System.IO.FileInfo(fileName).Name; } catch { @@ -273,7 +274,7 @@ namespace IKVM.NativeCode.java.lang } } - public static bool IsNative(MethodBase m) + private static bool IsNative(MethodBase m) { object[] methodFlagAttribs = m.GetCustomAttributes(typeof(ModifiersAttribute), false); if(methodFlagAttribs.Length == 1) @@ -284,7 +285,7 @@ namespace IKVM.NativeCode.java.lang return false; } - public static string GetMethodName(MethodBase mb) + private static string GetMethodName(MethodBase mb) { object[] attr = mb.GetCustomAttributes(typeof(NameSigAttribute), false); if(attr.Length == 1) @@ -315,12 +316,12 @@ namespace IKVM.NativeCode.java.lang } } - public static bool IsHideFromJava(MethodBase mb) + private static bool IsHideFromJava(MethodBase mb) { return NativeCode.sun.reflect.Reflection.IsHideFromJava(mb); } - public static string getClassNameFromType(Type type) + private static string getClassNameFromType(Type type) { if(ClassLoaderWrapper.IsRemappedType(type)) { @@ -343,16 +344,16 @@ namespace IKVM.NativeCode.java.lang #if !FIRST_PASS if(cause == throwable) { - typeof(global::java.lang.Throwable).GetConstructor(new Type[] { typeof(string) }).Invoke(throwable, new object[] { detailMessage }); + typeof(Throwable).GetConstructor(new Type[] { typeof(string) }).Invoke(throwable, new object[] { detailMessage }); } else { - typeof(global::java.lang.Throwable).GetConstructor(new Type[] { typeof(string), typeof(Exception) }).Invoke(throwable, new object[] { detailMessage, cause }); + typeof(Throwable).GetConstructor(new Type[] { typeof(string), typeof(Exception) }).Invoke(throwable, new object[] { detailMessage, cause }); } #endif } - public static int GetLineNumber(StackFrame frame) + private static int GetLineNumber(StackFrame frame) { int ilOffset = frame.GetILOffset(); if(ilOffset != StackFrame.OFFSET_UNKNOWN) @@ -370,7 +371,7 @@ namespace IKVM.NativeCode.java.lang return -1; } - public static string GetFileName(StackFrame frame) + private static string GetFileName(StackFrame frame) { MethodBase mb = frame.GetMethod(); if(mb != null) @@ -384,21 +385,16 @@ namespace IKVM.NativeCode.java.lang return null; } - public static Type getTypeFromObject(object o) - { - return o.GetType(); - } - // called from map.xml - internal static global::java.io.ObjectStreamField[] getPersistentFields() + internal static 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[])) + return new ObjectStreamField[] { + new ObjectStreamField("detailMessage", typeof(global::java.lang.String)), + new ObjectStreamField("cause", typeof(global::java.lang.Throwable)), + new ObjectStreamField("stackTrace", typeof(global::java.lang.StackTraceElement[])) }; #endif } @@ -435,11 +431,11 @@ namespace IKVM.NativeCode.java.lang internal static void printStackTrace(Exception x) { #if !FIRST_PASS - Throwable.instancehelper_printStackTrace(x, global::java.lang.System.err); + Throwable.instancehelper_printStackTrace(x, java.lang.System.err); #endif } - internal static void printStackTrace(Exception x, global::java.io.PrintStream printStream) + internal static void printStackTrace(Exception x, java.io.PrintStream printStream) { #if !FIRST_PASS lock (printStream) @@ -452,7 +448,7 @@ namespace IKVM.NativeCode.java.lang #endif } - internal static void printStackTrace(Exception x, global::java.io.PrintWriter printWriter) + internal static void printStackTrace(Exception x, java.io.PrintWriter printWriter) { #if !FIRST_PASS lock (printWriter) @@ -535,7 +531,7 @@ namespace IKVM.NativeCode.java.lang { return ""; } - return global::java.lang.Object.instancehelper_toString(cause); + return java.lang.Object.instancehelper_toString(cause); #endif } @@ -556,9 +552,9 @@ namespace IKVM.NativeCode.java.lang string message = Throwable.instancehelper_getLocalizedMessage(x); if (message == null) { - return global::java.lang.Object.instancehelper_getClass(x).getName(); + return java.lang.Object.instancehelper_getClass(x).getName(); } - return global::java.lang.Object.instancehelper_getClass(x).getName() + ": " + message; + return java.lang.Object.instancehelper_getClass(x).getName() + ": " + message; #endif } @@ -572,11 +568,11 @@ namespace IKVM.NativeCode.java.lang #if !FIRST_PASS if (_this_cause != _this) { - throw new global::java.lang.IllegalStateException("Can't overwrite cause"); + throw new java.lang.IllegalStateException("Can't overwrite cause"); } if (cause == _this) { - throw new global::java.lang.IllegalArgumentException("Self-causation not permitted"); + throw new java.lang.IllegalArgumentException("Self-causation not permitted"); } #endif } @@ -627,7 +623,7 @@ namespace IKVM.NativeCode.java.lang { if (copy[i] == null) { - throw new global::java.lang.NullPointerException(); + throw new java.lang.NullPointerException(); } } return copy; @@ -713,15 +709,15 @@ namespace IKVM.NativeCode.java.lang #else bool wrapped = false; Exception r = MapExceptionFast(t.InnerException, true); - if (!(r is global::java.lang.Error)) + if (!(r is java.lang.Error)) { - r = new global::java.lang.ExceptionInInitializerError(r); + r = new java.lang.ExceptionInInitializerError(r); wrapped = true; } string type = t.TypeName; if (failedTypes.ContainsKey(type)) { - r = new global::java.lang.NoClassDefFoundError(type).initCause(r); + r = new java.lang.NoClassDefFoundError(type).initCause(r); wrapped = true; } if (handler != null && !handler.IsInstanceOfType(r)) diff --git a/runtime/common.cs b/runtime/common.cs index 5085408a..dcf29eb8 100644 --- a/runtime/common.cs +++ b/runtime/common.cs @@ -441,20 +441,12 @@ namespace IKVM.NativeCode.ikvm.runtime [HideFromJava] public static Exception mapException(Exception x) { -#if FIRST_PASS - return null; -#else - return global::IKVM.NativeCode.java.lang.ExceptionHelper.MapExceptionFast(x, true); -#endif + return ExceptionHelper.MapExceptionFast(x, true); } public static Exception unmapException(Exception x) { -#if FIRST_PASS - return null; -#else - return global::IKVM.NativeCode.java.lang.ExceptionHelper.UnmapException(x); -#endif + return ExceptionHelper.UnmapException(x); } } } diff --git a/runtime/openjdk.cs b/runtime/openjdk.cs index aabbf3a6..f82163fa 100644 --- a/runtime/openjdk.cs +++ b/runtime/openjdk.cs @@ -3449,7 +3449,7 @@ namespace IKVM.NativeCode.java return null; #else List<jlStackTraceElement> stackTrace = new List<jlStackTraceElement>(); - global::IKVM.NativeCode.java.lang.ExceptionHelper.ExceptionInfoHelper.Append(stackTrace, stack, 0); + ExceptionHelper.ExceptionInfoHelper.Append(stackTrace, stack, 0); return stackTrace.ToArray(); #endif } |