* src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Do not
[cacao.git] / src / vm / class.h
index 402457d2003cd6a7e4f98623d160e136e74bdf74..cf103a0f8a25d9d8d9a5cffcfa6280d874b039e1 100644 (file)
@@ -26,9 +26,7 @@
 
    Authors: Christian Thalinger
 
-   Changes:
-
-   $Id: class.h 4503 2006-02-13 23:45:27Z 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,11 +48,16 @@ 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"
 #include "vm/references.h"
 #include "vm/utf8.h"
-#include "vm/jit/inline/sets.h"
 
 
 /* class state defines ********************************************************/
@@ -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;
 
@@ -173,12 +183,14 @@ extern classinfo *class_java_io_Serializable;
 extern classinfo *class_java_lang_Throwable;
 extern classinfo *class_java_lang_VMThrowable;
 extern classinfo *class_java_lang_Error;
-extern classinfo *class_java_lang_NoClassDefFoundError;
+extern classinfo *class_java_lang_AbstractMethodError;
 extern classinfo *class_java_lang_LinkageError;
+extern classinfo *class_java_lang_NoClassDefFoundError;
 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;
@@ -307,6 +319,10 @@ bool class_issubclass(classinfo *sub, classinfo *super);
 void class_printflags(classinfo *c);
 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 */