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:
parent
51615fd6cd
commit
2a2c6e55e7
5 changed files with 42 additions and 25 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue