mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Class.h (_Jv_SetVTableEntries): Updated declaration.
* java/lang/Class.h (_Jv_SetVTableEntries): Updated declaration. * resolve.cc: Don't include AbstractMethodError.h. (_Jv_abstractMethodError): Removed. * defineclass.cc (handleMethodsBegin): Initialize method index to -1. * java/lang/natClass.cc (_Jv_LayoutVTableMethods): Don't set method index for "new" final method. (_Jv_SetVTableEntries): Compare index against -1 instead of using isVirtualMethod. Added `flags' argument. (_Jv_MakeVTable): Throw exception for abstract method in concrete class. From-SVN: r59847
This commit is contained in:
@@ -1184,15 +1184,17 @@ void _Jv_ClassReader::handleFieldsEnd ()
|
||||
void
|
||||
_Jv_ClassReader::handleMethodsBegin (int count)
|
||||
{
|
||||
def->methods = (_Jv_Method*)
|
||||
_Jv_AllocBytes (sizeof (_Jv_Method)*count);
|
||||
def->methods = (_Jv_Method *) _Jv_AllocBytes (sizeof (_Jv_Method) * count);
|
||||
|
||||
def->interpreted_methods
|
||||
= (_Jv_MethodBase **) _Jv_AllocBytes (sizeof (_Jv_MethodBase *)
|
||||
* count);
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
def->interpreted_methods[i] = 0;
|
||||
{
|
||||
def->interpreted_methods[i] = 0;
|
||||
def->methods[i].index = (_Jv_ushort) -1;
|
||||
}
|
||||
|
||||
def->method_count = count;
|
||||
}
|
||||
@@ -1376,12 +1378,14 @@ throw_internal_error (char *msg)
|
||||
throw new java::lang::InternalError (JvNewStringLatin1 (msg));
|
||||
}
|
||||
|
||||
static void throw_incompatible_class_change_error (jstring msg)
|
||||
static void
|
||||
throw_incompatible_class_change_error (jstring msg)
|
||||
{
|
||||
throw new java::lang::IncompatibleClassChangeError (msg);
|
||||
}
|
||||
|
||||
static void throw_class_circularity_error (jstring msg)
|
||||
static void
|
||||
throw_class_circularity_error (jstring msg)
|
||||
{
|
||||
throw new java::lang::ClassCircularityError (msg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user