From 7835a9d103823083eb96c36760b8fe6d1a77a5f7 Mon Sep 17 00:00:00 2001 From: tromey <> Date: Fri, 6 Oct 2000 00:49:32 +0000 Subject: * java/lang/reflect/natField.cc (BooleanClass): Don't define. * java/lang/reflect/natArray.cc (BooleanClass): Don't define. * java/lang/Class.h (Object): Added `class$' field. * java/lang/Object.h (Object): Added `class$' field. * defineclass.cc (ClassClass): Use `class$' form. (ClassObject): Likewise. * resolve.cc (ClassObject): Use `class$' form. (ObjectClass): Likewise. * interpret.cc (ClassError): Removed. * java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use `class$' form. (IntegerClass): Likewise. * java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$' form. * java/lang/natClassLoader.cc (CloneableClass): Use `class$' form. (ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass, SerializableClass): Likewise. Include Serializable.h, Cloneable.h. * java/lang/natSystem.cc (SystemClass): Removed. (init_properties): Use `class$' form. * java/lang/natObject.cc (CloneableClass): Removed. (clone): Use `class$' form. * java/lang/natClass.cc (CloneableClass): Use `class$' form. (ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass, ConstructorClass): Likewise. * java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form. (ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass, IntegerClass, LongClass, FloatClass, DoubleClass): Likewise. * java/io/natObjectInputStream.cc (ObjectClass): Use `class$' form. (ClassClass): Likewise. * include/jvm.h (StringClass): Use `class$' form. * prims.cc (ObjectClass): Removed. (_Jv_RunMain): Use `class$' form. (_Jv_AllocObject): Likewise. * jni.cc (ClassClass): Use `class$' form. (ThrowableClass): Likewise. (ObjectClass): Likewise. (MethodClass): Likewise. (ThreadGroupClass): Likewise. (NativeThreadClass): Likewise. * boehm.cc (ObjectClass): Removed. (ClassClass): Removed. (_Jv_MarkObj): Use `class$' form. * gcj/field.h (JvFieldIsRef): Use `class$' form. Include RawData.h. --- libjava/defineclass.cc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'libjava/defineclass.cc') diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc index 7ddead0965b..06ca16274ea 100644 --- a/libjava/defineclass.cc +++ b/libjava/defineclass.cc @@ -43,11 +43,6 @@ details. */ #include #include -#define ClassClass _CL_Q34java4lang5Class -extern java::lang::Class ClassClass; -#define ClassObject _CL_Q34java4lang6Object -extern java::lang::Class ClassObject; - // we don't verify method names that match these. static _Jv_Utf8Const *clinit_name = _Jv_makeUtf8Const ("", 8); static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("", 6); @@ -864,11 +859,12 @@ _Jv_ClassReader::handleClassBegin // interfaces have java.lang.Object as super. if (access_flags & Modifier::INTERFACE) { - def->superclass = (jclass)&ClassObject; + def->superclass = (jclass)&java::lang::Class::class$; } // FIXME: Consider this carefully! - else if (!_Jv_equalUtf8Consts (def->name, ClassObject.name)) + else if (!_Jv_equalUtf8Consts (def->name, + java::lang::Class::class$.name)) { throw_no_class_def_found_error ("loading java.lang.Object"); } -- cgit v1.2.3