From 1dc4ffa32ba675a5a99d2bb6aadf7f56dea7b916 Mon Sep 17 00:00:00 2001 From: jfrijters Date: Thu, 27 May 2010 10:54:34 +0000 Subject: [PATCH] More object -> java.lang.Class updates. --- runtime/JniInterface.cs | 26 +++++++++++++------------- runtime/TypeWrapper.cs | 5 ++--- runtime/common.cs | 17 +++++++++-------- runtime/openjdk.cs | 22 +++++++++++----------- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/runtime/JniInterface.cs b/runtime/JniInterface.cs index 3e68f7ee..413e18e5 100644 --- a/runtime/JniInterface.cs +++ b/runtime/JniInterface.cs @@ -1492,14 +1492,14 @@ namespace IKVM.Runtime internal static jclass GetSuperclass(JNIEnv* pEnv, jclass sub) { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(sub)).BaseTypeWrapper; + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(sub)).BaseTypeWrapper; return pEnv->MakeLocalRef(wrapper == null ? null : wrapper.ClassObject); } internal static jboolean IsAssignableFrom(JNIEnv* pEnv, jclass sub, jclass super) { - TypeWrapper w1 = TypeWrapper.FromClass(pEnv->UnwrapRef(sub)); - TypeWrapper w2 = TypeWrapper.FromClass(pEnv->UnwrapRef(super)); + TypeWrapper w1 = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(sub)); + TypeWrapper w2 = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(super)); return w1.IsAssignableTo(w2) ? JNI_TRUE : JNI_FALSE; } @@ -1524,7 +1524,7 @@ namespace IKVM.Runtime internal static jint ThrowNew(JNIEnv* pEnv, jclass clazz, byte* msg) { ManagedJNIEnv env = pEnv->GetManagedJNIEnv(); - TypeWrapper wrapper = TypeWrapper.FromClass(UnwrapRef(env, clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)UnwrapRef(env, clazz)); MethodWrapper mw = wrapper.GetMethodWrapper("", "(Ljava.lang.String;)V", false); if(mw != null) { @@ -1667,7 +1667,7 @@ namespace IKVM.Runtime internal static jobject AllocObject(JNIEnv* pEnv, jclass clazz) { - return AllocObjectImpl(pEnv, TypeWrapper.FromClass(pEnv->UnwrapRef(clazz))); + return AllocObjectImpl(pEnv, TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz))); } private static jobject AllocObjectImpl(JNIEnv* pEnv, TypeWrapper wrapper) @@ -1763,7 +1763,7 @@ namespace IKVM.Runtime internal static jobject NewObjectA(JNIEnv* pEnv, jclass clazz, jmethodID methodID, jvalue *args) { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); if(!wrapper.IsAbstract && wrapper.TypeAsBaseType.IsAbstract) { // static newinstance helper method @@ -1791,8 +1791,8 @@ namespace IKVM.Runtime { // NOTE if clazz is an interface, this is still the right thing to do // (i.e. if the object implements the interface, we return true) - object objClass = IKVM.NativeCode.ikvm.runtime.Util.getClassFromObject(pEnv->UnwrapRef(obj)); - TypeWrapper w1 = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + java.lang.Class objClass = IKVM.NativeCode.ikvm.runtime.Util.getClassFromObject(pEnv->UnwrapRef(obj)); + TypeWrapper w1 = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); TypeWrapper w2 = TypeWrapper.FromClass(objClass); return w2.IsAssignableTo(w1) ? JNI_TRUE : JNI_FALSE; } @@ -1857,7 +1857,7 @@ namespace IKVM.Runtime { try { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); wrapper.Finish(); // if name == NULL, the JDK returns the constructor string methodname = (IntPtr)name == IntPtr.Zero ? "" : StringFromUTF8(name); @@ -2104,7 +2104,7 @@ namespace IKVM.Runtime { try { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); wrapper.Finish(); string fieldsig = StringFromUTF8(sig); // don't allow dotted names! @@ -2504,7 +2504,7 @@ namespace IKVM.Runtime try { // we want to support (non-primitive) value types so we can't cast to object[] - Array array = Array.CreateInstance(TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)).TypeAsArrayType, len); + Array array = Array.CreateInstance(TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)).TypeAsArrayType, len); object o = pEnv->UnwrapRef(init); if(o != null) { @@ -3106,7 +3106,7 @@ namespace IKVM.Runtime { try { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); wrapper.Finish(); for(int i = 0; i < nMethods; i++) { @@ -3146,7 +3146,7 @@ namespace IKVM.Runtime { try { - TypeWrapper wrapper = TypeWrapper.FromClass(pEnv->UnwrapRef(clazz)); + TypeWrapper wrapper = TypeWrapper.FromClass((java.lang.Class)pEnv->UnwrapRef(clazz)); wrapper.Finish(); // TODO this won't work when we're putting the JNI methods in jniproxy.dll foreach(FieldInfo fi in wrapper.TypeAsTBD.GetFields(BindingFlags.Static | BindingFlags.NonPublic)) diff --git a/runtime/TypeWrapper.cs b/runtime/TypeWrapper.cs index 52c6469f..e81ce6fe 100644 --- a/runtime/TypeWrapper.cs +++ b/runtime/TypeWrapper.cs @@ -1863,12 +1863,11 @@ namespace IKVM.Internal } #endif - internal static TypeWrapper FromClass(object classObject) + internal static TypeWrapper FromClass(java.lang.Class clazz) { #if FIRST_PASS return null; #else - java.lang.Class clazz = (java.lang.Class)classObject; // MONOBUG redundant cast to workaround mcs bug TypeWrapper tw = (TypeWrapper)(object)clazz.typeWrapper; if(tw == null) @@ -1877,7 +1876,7 @@ namespace IKVM.Internal if (type == null) { ResolvePrimitiveTypeWrapperClasses(); - return FromClass(classObject); + return FromClass(clazz); } if (type == typeof(void) || type.IsPrimitive || ClassLoaderWrapper.IsRemappedType(type)) { diff --git a/runtime/common.cs b/runtime/common.cs index f39a8a8e..01815330 100644 --- a/runtime/common.cs +++ b/runtime/common.cs @@ -28,6 +28,7 @@ using IKVM.Attributes; using IKVM.Runtime; using IKVM.Internal; using AssemblyClassLoader_ = IKVM.Internal.AssemblyClassLoader; +using jlClass = java.lang.Class; #if !FIRST_PASS using NegativeArraySizeException = java.lang.NegativeArraySizeException; using IllegalArgumentException = java.lang.IllegalArgumentException; @@ -129,7 +130,7 @@ namespace IKVM.NativeCode.ikvm.@internal { static class StubGenerator { - public static string getAssemblyName(object c) + public static string getAssemblyName(jlClass c) { TypeWrapper wrapper = TypeWrapper.FromClass(c); ClassLoaderWrapper loader = wrapper.GetClassLoader(); @@ -172,7 +173,7 @@ namespace IKVM.NativeCode.ikvm.@internal return mb != null && mb.IsDefined(typeof(ObsoleteAttribute), false); } - public static bool isClassDeprecated(object clazz) + public static bool isClassDeprecated(jlClass clazz) { Type type = TypeWrapper.FromClass(clazz).TypeAsTBD; // we need to check type for null, because ReflectionOnly @@ -244,14 +245,14 @@ namespace IKVM.NativeCode.ikvm.runtime return assemblies; } - public static Assembly GetAssemblyFromClass(object clazz) + public static Assembly GetAssemblyFromClass(jlClass clazz) { TypeWrapper wrapper = TypeWrapper.FromClass(clazz); AssemblyClassLoader_ acl = wrapper.GetClassLoader() as AssemblyClassLoader_; return acl != null ? acl.GetAssembly(wrapper) : null; } - public static bool IsDynamic(object clazz) + public static bool IsDynamic(jlClass clazz) { return TypeWrapper.FromClass(clazz) is DynamicTypeWrapper; } @@ -326,7 +327,7 @@ namespace IKVM.NativeCode.ikvm.runtime static class Util { - public static object getClassFromObject(object o) + public static jlClass getClassFromObject(object o) { return GetTypeWrapperFromObject(o).ClassObject; } @@ -357,7 +358,7 @@ namespace IKVM.NativeCode.ikvm.runtime } } - public static object getClassFromTypeHandle(RuntimeTypeHandle handle) + public static jlClass getClassFromTypeHandle(RuntimeTypeHandle handle) { Type t = Type.GetTypeFromHandle(handle); if(t.IsPrimitive || ClassLoaderWrapper.IsRemappedType(t) || t == typeof(void)) @@ -376,7 +377,7 @@ namespace IKVM.NativeCode.ikvm.runtime return null; } - public static object getFriendlyClassFromType(Type type) + public static jlClass getFriendlyClassFromType(Type type) { int rank = 0; while(ReflectUtil.IsVector(type)) @@ -427,7 +428,7 @@ namespace IKVM.NativeCode.ikvm.runtime return true; } - public static Type getInstanceTypeFromClass(object clazz) + public static Type getInstanceTypeFromClass(jlClass clazz) { TypeWrapper wrapper = TypeWrapper.FromClass(clazz); if(wrapper.IsRemapped && wrapper.IsFinal) diff --git a/runtime/openjdk.cs b/runtime/openjdk.cs index 312a7f72..207e9d74 100644 --- a/runtime/openjdk.cs +++ b/runtime/openjdk.cs @@ -1781,12 +1781,12 @@ namespace IKVM.NativeCode.java { } - public static object newArray(object componentType, int length) + public static object newArray(jlClass componentType, int length) { return null; } - public static object multiNewArray(object componentType, int[] dimensions) + public static object multiNewArray(jlClass componentType, int[] dimensions) { return null; } @@ -2249,7 +2249,7 @@ namespace IKVM.NativeCode.java } } - public static object newArray(object componentType, int length) + public static object newArray(jlClass componentType, int length) { if (componentType == null) { @@ -2286,7 +2286,7 @@ namespace IKVM.NativeCode.java } } - public static object multiNewArray(object componentType, int[] dimensions) + public static object multiNewArray(jlClass componentType, int[] dimensions) { if (componentType == null || dimensions == null) { @@ -2855,7 +2855,7 @@ namespace IKVM.NativeCode.java #endif } - public static bool desiredAssertionStatus0(object clazz) + public static bool desiredAssertionStatus0(jlClass clazz) { return IKVM.Runtime.Assertions.IsEnabled(TypeWrapper.FromClass(clazz)); } @@ -3195,7 +3195,7 @@ namespace IKVM.NativeCode.java public static object currentClassLoader0(object thisSecurityManager) { - object currentClass = currentLoadedClass0(thisSecurityManager); + jlClass currentClass = currentLoadedClass0(thisSecurityManager); if (currentClass != null) { return TypeWrapper.FromClass(currentClass).GetClassLoader().GetJavaClassLoader(); @@ -3213,7 +3213,7 @@ namespace IKVM.NativeCode.java throw new NotImplementedException(); } - public static object currentLoadedClass0(object thisSecurityManager) + public static jlClass currentLoadedClass0(object thisSecurityManager) { throw new NotImplementedException(); } @@ -5730,7 +5730,7 @@ namespace IKVM.NativeCode.sun.misc throw x; } - public static void ensureClassInitialized(object thisUnsafe, object clazz) + public static void ensureClassInitialized(object thisUnsafe, jlClass clazz) { TypeWrapper tw = TypeWrapper.FromClass(clazz); if (!tw.IsArray) @@ -5748,7 +5748,7 @@ namespace IKVM.NativeCode.sun.misc } [System.Security.SecurityCritical] - public static object allocateInstance(object thisUnsafe, object clazz) + public static object allocateInstance(object thisUnsafe, jlClass clazz) { TypeWrapper wrapper = TypeWrapper.FromClass(clazz); try @@ -5944,12 +5944,12 @@ namespace IKVM.NativeCode.sun.reflect #endif } - public static int getClassAccessFlags(object clazz) + public static int getClassAccessFlags(jlClass clazz) { return (int)TypeWrapper.FromClass(clazz).Modifiers; } - public static bool checkInternalAccess(object currentClass, object memberClass) + public static bool checkInternalAccess(jlClass currentClass, jlClass memberClass) { TypeWrapper current = TypeWrapper.FromClass(currentClass); TypeWrapper member = TypeWrapper.FromClass(memberClass);