* src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Do not
[cacao.git] / src / vm / class.h
index bcf21d05cb9afd014d45e2c44a0fe3730b0795b2..cf103a0f8a25d9d8d9a5cffcfa6280d874b039e1 100644 (file)
@@ -26,9 +26,7 @@
 
    Authors: Christian Thalinger
 
-   Changes:
-
-   $Id: class.h 5053 2006-06-28 19:11:20Z twisti $
+   $Id: class.h 6085 2006-11-29 17:08:27Z twisti $
 
 */
 
@@ -38,6 +36,7 @@
 
 /* forward typedefs ***********************************************************/
 
+typedef struct classinfo      classinfo; 
 typedef struct innerclassinfo innerclassinfo;
 typedef struct extra_classref extra_classref;
 
@@ -49,6 +48,11 @@ typedef struct extra_classref extra_classref;
 #include "native/include/java_lang_Class.h"
 
 #include "toolbox/list.h"
+
+#if defined(ENABLE_JAVASE)
+# include "vm/annotation.h"
+#endif
+
 #include "vm/field.h"
 #include "vm/linker.h"
 #include "vm/method.h"
@@ -119,7 +123,12 @@ struct classinfo {                /* class structure                          */
        innerclassinfo *innerclass;
 
        utf        *packagename;      /* full name of the package                 */
-       utf        *sourcefile;       /* classfile name containing this class     */
+       utf        *sourcefile;       /* SourceFile attribute                     */
+#if defined(ENABLE_JAVASE)
+       utf        *signature;        /* Signature attribute                      */
+       s4            runtimevisibleannotationscount;
+       annotation_t *runtimevisibleannotations;
+#endif
        java_objectheader *classloader; /* NULL for bootstrap classloader         */
 };
 
@@ -164,6 +173,7 @@ extern classinfo *class_java_lang_String;
 extern classinfo *class_java_lang_System;
 extern classinfo *class_java_lang_Thread;
 extern classinfo *class_java_lang_ThreadGroup;
+extern classinfo *class_java_lang_VMSystem;
 extern classinfo *class_java_lang_VMThread;
 extern classinfo *class_java_io_Serializable;
 
@@ -180,6 +190,7 @@ extern classinfo *class_java_lang_NoSuchMethodError;
 extern classinfo *class_java_lang_OutOfMemoryError;
 
 extern classinfo *class_java_lang_Exception;
+extern classinfo *class_java_lang_ClassCastException;
 extern classinfo *class_java_lang_ClassNotFoundException;
 extern classinfo *class_java_lang_IllegalArgumentException;
 extern classinfo *class_java_lang_IllegalMonitorStateException;
@@ -310,6 +321,8 @@ void class_print(classinfo *c);
 void class_println(classinfo *c);
 void class_classref_print(constant_classref *cr);
 void class_classref_println(constant_classref *cr);
+void class_classref_or_classinfo_print(classref_or_classinfo c);
+void class_classref_or_classinfo_println(classref_or_classinfo c);
 #endif
 
 /* debug purposes */