Authors: Christian Thalinger
- Changes:
-
- $Id: class.h 5088 2006-07-08 20:16:05Z twisti $
+ $Id: class.h 6085 2006-11-29 17:08:27Z twisti $
*/
/* forward typedefs ***********************************************************/
+typedef struct classinfo classinfo;
typedef struct innerclassinfo innerclassinfo;
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"
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 */
};
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;
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 */