exceptionptr update for native threads
[cacao.git] / native.h
index 2dc6b70085fdf3cf96d4ab9e8071ac085383fd31..47c8d1daa99eebe057e5c5e261482366f0fa07d3 100644 (file)
--- a/native.h
+++ b/native.h
@@ -26,7 +26,7 @@
 
    Authors: Reinhard Grafl
 
-   $Id: native.h 676 2003-11-24 20:50:23Z twisti $
+   $Id: native.h 862 2004-01-06 23:42:01Z stefan $
 
 */
 
@@ -49,7 +49,9 @@ extern methodinfo *method_vmclass_init;
 extern classinfo *class_java_lang_CloneNotSupportedException;
 extern classinfo *class_java_lang_System;
 extern classinfo *class_java_lang_ClassLoader;
+extern classinfo *class_java_lang_NoClassDefFoundError;
 extern classinfo *class_java_lang_ClassNotFoundException;
+extern classinfo *class_java_lang_LinkageError;
 extern classinfo *class_java_lang_InstantiationException;
 extern classinfo *class_java_lang_NoSuchMethodError;   
 extern classinfo *class_java_lang_NoSuchFieldError;
@@ -79,12 +81,18 @@ extern classinfo *class_java_lang_Integer;
 extern struct java_lang_ClassLoader *SystemClassLoader;
 
 /* for raising exceptions from native methods */
-extern java_objectheader* exceptionptr;
+/* extern java_objectheader* exceptionptr; */
 
 /* javastring-hashtable */
 extern hashtable string_hash; 
 
 
+/* throw classnotfoundexcetion with detail message */
+void throw_noclassdeffounderror_message(utf* classname);
+
+/* throw linkageerror with detail message */
+void throw_linkageerror_message(utf* classname);
+
 void use_class_as_object(classinfo *c);
 
 /* load classes required for native methods */
@@ -98,10 +106,12 @@ functionptr native_findfunction(utf *cname, utf *mname,
                                                                utf *desc, bool isstatic);
 
 /* creates a new object of type java/lang/String from a utf-text */
-java_objectheader *javastring_new(utf *text);
+/*  java_objectheader *javastring_new(utf *text); */
+java_lang_String *javastring_new(utf *text);
 
 /* creates a new object of type java/lang/String from a c-string */
-java_objectheader *javastring_new_char(char *text);
+/*  java_objectheader *javastring_new_char(char *text); */
+java_lang_String *javastring_new_char(char *text);
 
 /* make c-string from a javastring (debugging) */
 char *javastring_tochar(java_objectheader *s);
@@ -121,10 +131,6 @@ void attach_property(char *name, char *value);
 /* correct vftbl-entries of javastring-hash */
 void stringtable_update();
 
-/* throw classnotfoundexcetion */
-void throw_classnotfoundexception();
-
-void throw_classnotfoundexception2(utf* classname);
 
 /* make utf symbol from javastring */
 utf *javastring_toutf(struct java_lang_String *string, bool isclassname);
@@ -159,6 +165,7 @@ void copy_vftbl(vftbl **dest, vftbl *src);
 utf *create_methodsig(java_objectarray* types, char *retType);
 classinfo *get_type(char **utf_ptr,char *desc_end, bool skip);
 java_objectarray* get_parametertypes(methodinfo *m);
+java_objectarray* get_exceptiontypes(methodinfo *m);
 classinfo *get_returntype(methodinfo *m);
 
 #endif /* _NATIVE_H */