aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@gcc.gnu.org>2001-10-16 12:18:03 +0100
committerBryce McKinlay <bryce@gcc.gnu.org>2001-10-16 12:18:03 +0100
commit5b0b42ed61f8ad9c2105e8dfab833a08fd252c06 (patch)
tree5e2d398f08e2204d218569e9ee63f5d81fa1ad66 /libjava
parent4c7726b172c35bd078bb0f88025670ffddd94a92 (diff)
downloadgcc-5b0b42ed61f8ad9c2105e8dfab833a08fd252c06.zip
gcc-5b0b42ed61f8ad9c2105e8dfab833a08fd252c06.tar.gz
gcc-5b0b42ed61f8ad9c2105e8dfab833a08fd252c06.tar.bz2
Forgot this file in last commit.
From-SVN: r46284
Diffstat (limited to 'libjava')
-rw-r--r--libjava/java/lang/Class.h27
1 files 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 <stddef.h>
#include <java/lang/Object.h>
#include <java/lang/String.h>
#include <java/net/URL.h>
@@ -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 *);