* changed src/native/vm/sun/jvm.c: Throw IllegalArgumentException in all
[cacao.git] / src / native / vm / java_lang_Class.h
index d8e0735db47ad07569fc1c294627b2e8b350c70c..e80e787b5a58ebdcb89bd85725414d6841fb8c2c 100644 (file)
@@ -1,6 +1,6 @@
 /* src/native/vm/java_lang_Class.h - java/lang/Class functions
 
-   Copyright (C) 2006 R. Grafl, A. Krall, C. Kruegel, C. Oates,
+   Copyright (C) 2006, 2007 R. Grafl, A. Krall, C. Kruegel, C. Oates,
    R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
    C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
    Institut f. Computersprachen - TU Wien
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Christian Thalinger
-
-   $Id: java_lang_VMClass.c 6131 2006-12-06 22:15:57Z twisti $
-
 */
 
 
@@ -35,6 +29,9 @@
 #define _JV_JAVA_LANG_CLASS_H
 
 #include "config.h"
+
+#include <stdint.h>
+
 #include "vm/types.h"
 
 #include "native/jni.h"
@@ -57,42 +54,33 @@ java_lang_String              *_Jv_java_lang_Class_getName(java_lang_Class *klas
 
 #if defined(ENABLE_JAVASE)
 java_lang_Class               *_Jv_java_lang_Class_forName(java_lang_String *name, s4 initialize, java_lang_ClassLoader *loader);
+#elif defined(ENABLE_JAVAME_CLDC1_1)
+java_lang_Class               *_Jv_java_lang_Class_forName(java_lang_String *name);
+#endif
+
 s4                             _Jv_java_lang_Class_isInstance(java_lang_Class *klass, java_lang_Object *o);
 s4                             _Jv_java_lang_Class_isAssignableFrom(java_lang_Class *klass, java_lang_Class *c);
-s4                             _Jv_java_lang_Class_isInterface(java_lang_Class *klass);
+JNIEXPORT int32_t JNICALL      _Jv_java_lang_Class_isInterface(JNIEnv *env, java_lang_Class *this);
+
+#if defined(ENABLE_JAVASE)
 s4                             _Jv_java_lang_Class_isPrimitive(java_lang_Class *klass);
 java_lang_Class               *_Jv_java_lang_Class_getSuperclass(java_lang_Class *klass);
-java_objectarray              *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass);
-java_lang_Class               *_Jv_java_lang_Class_getComponentType(java_lang_Class *klass);
+java_handle_objectarray_t     *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass);
 s4                             _Jv_java_lang_Class_getModifiers(java_lang_Class *klass, s4 ignoreInnerClassesAttrib);
-java_lang_Class               *_Jv_java_lang_Class_getDeclaringClass(java_lang_Class *klass);
-java_objectarray              *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly);
-java_objectarray              *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly);
-java_objectarray              *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly);
-java_objectarray              *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly);
-java_lang_ClassLoader         *_Jv_java_lang_Class_getClassLoader(java_lang_Class *klass);
-s4                             _Jv_java_lang_Class_isArray(java_lang_Class *klass);
+java_handle_objectarray_t     *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly);
+java_handle_objectarray_t     *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly);
+java_handle_objectarray_t     *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly);
+java_handle_objectarray_t     *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly);
 void                           _Jv_java_lang_Class_throwException(java_lang_Throwable *t);
 
-#if 0
-java_objectarray              *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass);
+#if defined(WITH_CLASSPATH_GNU) && defined(ENABLE_ANNOTATIONS)
+java_handle_objectarray_t     *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass);
 #endif
 
-java_lang_Class               *_Jv_java_lang_Class_getEnclosingClass(java_lang_Class *klass);
 java_lang_reflect_Constructor *_Jv_java_lang_Class_getEnclosingConstructor(java_lang_Class *klass);
 java_lang_reflect_Method      *_Jv_java_lang_Class_getEnclosingMethod(java_lang_Class *klass);
 
 java_lang_String              *_Jv_java_lang_Class_getClassSignature(java_lang_Class* klass);
-
-#if 0
-s4                             _Jv_java_lang_Class_isAnonymousClass(JNIEnv *env, jclass clazz, struct java_lang_Class* par1);
-JNIEXPORT s4 JNICALL Java_java_lang_VMClass_isLocalClass(JNIEnv *env, jclass clazz, struct java_lang_Class* par1);
-JNIEXPORT s4 JNICALL Java_java_lang_VMClass_isMemberClass(JNIEnv *env, jclass clazz, struct java_lang_Class* par1);
-#endif
-#endif /* ENABLE_JAVASE */
-
-#if defined(ENABLE_JAVAME_CLDC1_1)
-java_lang_Class               *_Jv_java_lang_Class_forName(java_lang_String *name);
 #endif
 
 #endif /* _JV_JAVA_LANG_CLASS_H */