From d1851e43a58a47e415e0924e6f16e95b7634cd35 Mon Sep 17 00:00:00 2001 From: bryce Date: Tue, 16 Oct 2001 11:18:03 +0000 Subject: [PATCH] Forgot this file in last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46284 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/Class.h | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h index 9d106c5..24ca5b1 100644 --- a/libjava/java/lang/Class.h +++ b/libjava/java/lang/Class.h @@ -14,7 +14,6 @@ details. */ #pragma interface -#include #include #include #include @@ -54,6 +53,7 @@ enum struct _Jv_Field; struct _Jv_VTable; union _Jv_word; +struct _Jv_ArrayVTable; struct _Jv_Constants { @@ -217,35 +217,17 @@ public: // This constructor is used to create Class object for the primitive // types. See prims.cc. - Class (jobject cname, jbyte sig, jint len, jobject array_vtable) - { - using namespace java::lang::reflect; - _Jv_Utf8Const *_Jv_makeUtf8Const (char *s, int len); - + Class () + { // C++ ctors set the vtbl pointer to point at an offset inside the vtable // object. That doesn't work for Java, so this hack adjusts it back. ((_Jv_Self *)this)->vtable_ptr -= 2 * sizeof (void *); - - // We must initialize every field of the class. We do this in the - // same order they are declared in Class.h, except for fields that - // are initialized to NULL. - name = _Jv_makeUtf8Const ((char *) cname, -1); - accflags = Modifier::PUBLIC | Modifier::FINAL | Modifier::ABSTRACT; - method_count = sig; - size_in_bytes = len; - vtable = JV_PRIMITIVE_VTABLE; - state = JV_STATE_DONE; - depth = -1; - if (method_count != 'V') - _Jv_NewArrayClass (this, NULL, (_Jv_VTable *) array_vtable); } static java::lang::Class class$; private: - Class (); - void checkMemberAccess (jint flags); void initializeClass (void); @@ -311,6 +293,9 @@ private: friend jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass, java::lang::ClassLoader *loader); + // in prims.cc + friend void _Jv_InitPrimClass (jclass, char *, char, int, _Jv_ArrayVTable *); + friend void _Jv_PrepareCompiledClass (jclass); friend void _Jv_PrepareConstantTimeTables (jclass); friend jshort _Jv_GetInterfaces (jclass, _Jv_ifaces *); -- 2.7.4