Class.h (_Jv_GetMethodString): Updated declaration.

* java/lang/Class.h (_Jv_GetMethodString): Updated declaration.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Updated.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Updated.
	* link.cc (_Jv_GetMethodString): Added 'derived' argument.
	Changed type of second argument.  Rewrote.
	(make_vtable): Use it.
	(append_partial_itable): Updated.
	(layout_vtable_methods): Updated.

From-SVN: r95181
This commit is contained in:
Tom Tromey 2005-02-17 19:17:08 +00:00 committed by Tom Tromey
parent 51615fd6cd
commit 2a2c6e55e7
5 changed files with 42 additions and 25 deletions

View file

@ -228,7 +228,7 @@ void _Jv_InitNewClassFields (jclass klass);
// Friend functions and classes in prims.cc
void _Jv_InitPrimClass (jclass, char *, char, int);
jstring _Jv_GetMethodString (jclass, _Jv_Utf8Const *);
jstring _Jv_GetMethodString (jclass, _Jv_Method *, jclass = NULL);
jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
jint flags);
@ -454,7 +454,7 @@ private:
// in prims.cc
friend void ::_Jv_InitPrimClass (jclass, char *, char, int);
friend jstring (::_Jv_GetMethodString) (jclass, _Jv_Utf8Const *);
friend jstring (::_Jv_GetMethodString) (jclass, _Jv_Method *, jclass);
friend jboolean (::_Jv_CheckAccess) (jclass self_klass, jclass other_klass,
jint flags);

View file

@ -1,6 +1,6 @@
// natClass.cc - Implementation of java.lang.Class native methods.
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation
This file is part of libgcj.
@ -973,13 +973,13 @@ _Jv_LookupInterfaceMethod (jclass klass, _Jv_Utf8Const *name,
if (Modifier::isStatic(meth->accflags))
throw new java::lang::IncompatibleClassChangeError
(_Jv_GetMethodString (klass, meth->name));
(_Jv_GetMethodString (klass, meth));
if (Modifier::isAbstract(meth->accflags))
throw new java::lang::AbstractMethodError
(_Jv_GetMethodString (klass, meth->name));
(_Jv_GetMethodString (klass, meth));
if (! Modifier::isPublic(meth->accflags))
throw new java::lang::IllegalAccessError
(_Jv_GetMethodString (klass, meth->name));
(_Jv_GetMethodString (klass, meth));
_Jv_AddMethodToCache (klass, meth);

View file

@ -1,6 +1,6 @@
// natMethod.cc - Native code for Method class.
/* Copyright (C) 1998, 1999, 2000, 2001 , 2002, 2003, 2004 Free Software Foundation
/* Copyright (C) 1998, 1999, 2000, 2001 , 2002, 2003, 2004, 2005 Free Software Foundation
This file is part of libgcj.
@ -496,7 +496,7 @@ _Jv_CallAnyMethodA (jobject obj,
|| concrete_meth->ncode == NULL
|| Modifier::isAbstract(concrete_meth->accflags))
throw new java::lang::IncompatibleClassChangeError
(_Jv_GetMethodString (vtable->clas, meth->name));
(_Jv_GetMethodString (vtable->clas, meth));
ncode = concrete_meth->ncode;
}
else