natClassLoader.cc (_Jv_UnregisterClass): Handle case where class' name is NULL.

* java/lang/natClassLoader.cc (_Jv_UnregisterClass): Handle case
	where class' name is NULL.
	(_Jv_FindClass): Don't wait for class state.
	* java/lang/natVMClassLoader.cc (defineClass): Only unregister if
	name found.
	* include/java-interp.h (_Jv_DefineClass): Updated.
	* defineclass.cc (_Jv_DefineClass): Added 'name_result' argument.
	(struct _Jv_ClassReader): Likewise.
	(found_name): New field.
	(handleClassBegin): Set *found_name.
	(_Jv_VerifyMethodSignature): Handle case where ptr==NULL.
	(handleClassBegin): Throw error if super class not set.
	(read_methods): Correctly call check_tag and prepare_pool_entry.

From-SVN: r101301
This commit is contained in:
Tom Tromey 2005-06-24 22:48:33 +00:00 committed by Tom Tromey
parent b7938f087d
commit 42c5169549
5 changed files with 53 additions and 22 deletions

View file

@ -36,7 +36,8 @@ struct _Jv_ResolvedMethod;
void _Jv_InitInterpreter ();
void _Jv_DefineClass (jclass, jbyteArray, jint, jint,
java::security::ProtectionDomain *);
java::security::ProtectionDomain *,
_Jv_Utf8Const **);
void _Jv_InitField (jobject, jclass, int);
void * _Jv_AllocMethodInvocation (jsize size);