Authors: Reinhard Grafl
- $Id: loader.h 1088 2004-05-26 21:32:34Z twisti $
+ $Id: loader.h 1557 2004-11-22 12:01:16Z carolyn $
*/
extern classinfo *class_java_lang_String;
extern classinfo *class_java_lang_Cloneable;
extern classinfo *class_java_io_Serializable;
-
+extern utf *utf_fillInStackTrace_name;
+extern utf *utf_fillInStackTrace_desc;
/* pseudo classes for the type checker ****************************************/
extern classinfo *pseudo_class_Arraystub;
extern classinfo *pseudo_class_Null;
extern classinfo *pseudo_class_New;
-extern vftbl *pseudo_class_Arraystub_vftbl;
+extern vftbl_t *pseudo_class_Arraystub_vftbl;
extern utf *array_packagename;
/* (used by class_new, don't use directly) */
void class_new_array(classinfo *c);
+#define LAZYLOADING(class) { \
+ if (!class->loaded) \
+ if (!class_load(class)) \
+ return 0; \
+ if (!class->linked) \
+ if (!class_link(class)) \
+ return 0; }
+
+
classinfo *class_load(classinfo *c);
classinfo *class_load_intern(classbuffer *cb);
classinfo *class_link(classinfo *c);
+void class_free(classinfo *c);
void field_display(fieldinfo *f);
void method_display(methodinfo *m);
+void method_display_w_class(methodinfo *m);
utf* clinit_desc();
utf* clinit_name();
typedef union classpath_info {
struct {
- int type;
+ s4 type;
union classpath_info *next;
- char *filename;
- int pathlen; } filepath;
-#ifdef USE_ZLIB
+ char *path;
+ s4 pathlen;
+ } filepath;
+#if defined(USE_ZLIB)
struct {
- int type;
+ s4 type;
union classpath_info *next;
- unzFile uf;
+ unzFile uf;
} archive;
#endif
} classpath_info;