aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/Class.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/Class.h')
-rw-r--r--libjava/java/lang/Class.h214
1 files changed, 0 insertions, 214 deletions
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
deleted file mode 100644
index eb0a2f95533..00000000000
--- a/libjava/java/lang/Class.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// Class.h - Header file for java.lang.Class. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// Written primary using compiler source and Class.java as guides.
-#ifndef __JAVA_LANG_CLASS_H__
-#define __JAVA_LANG_CLASS_H__
-
-#pragma interface
-
-#include <java/lang/Object.h>
-#include <java/lang/String.h>
-
-// We declare these here to avoid including cni.h.
-extern "C" void _Jv_InitClass (jclass klass);
-extern "C" void _Jv_RegisterClasses (jclass *classes);
-
-struct _Jv_Field;
-struct _Jv_VTable;
-
-#define CONSTANT_Class 7
-#define CONSTANT_Fieldref 9
-#define CONSTANT_Methodref 10
-#define CONSTANT_InterfaceMethodref 11
-#define CONSTANT_String 8
-#define CONSTANT_Integer 3
-#define CONSTANT_Float 4
-#define CONSTANT_Long 5
-#define CONSTANT_Double 6
-#define CONSTANT_NameAndType 12
-#define CONSTANT_Utf8 1
-#define CONSTANT_Unicode 2
-#define CONSTANT_ResolvedFlag 16
-#define CONSTANT_ResolvedString (CONSTANT_String+CONSTANT_ResolvedFlag)
-#define CONSTANT_ResolvedClass (CONSTANT_Class+CONSTANT_ResolvedFlag)
-
-struct _Jv_Constants
-{
- jint size;
- jbyte *tags;
- void **data;
-};
-
-struct _Jv_Method
-{
- _Jv_Utf8Const *name;
- _Jv_Utf8Const *signature;
- unsigned short accflags;
- void *ncode;
-};
-
-#define JV_PRIMITIVE_VTABLE ((_Jv_VTable *) -1)
-
-class java::lang::Class : public java::lang::Object
-{
-public:
- static jclass forName (jstring className);
- JArray<jclass> *getClasses (void);
-
- java::lang::ClassLoader *getClassLoader (void)
- {
- return loader;
- }
-
- jclass getComponentType (void)
- {
- return isArray () ? (* (jclass *) &methods) : 0;
- }
-
- java::lang::reflect::Constructor *getConstructor (JArray<jclass> *);
- JArray<java::lang::reflect::Constructor *> *getConstructors (void);
- java::lang::reflect::Constructor *getDeclaredConstructor (JArray<jclass> *);
- JArray<java::lang::reflect::Constructor *> *getDeclaredConstructors (void);
- java::lang::reflect::Field *getDeclaredField (jstring);
- JArray<java::lang::reflect::Field *> *getDeclaredFields (void);
- java::lang::reflect::Method *getDeclaredMethod (jstring, JArray<jclass> *);
- JArray<java::lang::reflect::Method *> *getDeclaredMethods (void);
-
- JArray<jclass> *getDeclaredClasses (void);
- jclass getDeclaringClass (void);
-
- java::lang::reflect::Field *getField (jstring);
-private:
- java::lang::reflect::Field *getField (jstring, jint);
-public:
- JArray<java::lang::reflect::Field *> *getFields (void);
-
- JArray<jclass> *getInterfaces (void);
-
- java::lang::reflect::Method *getMethod (jstring, JArray<jclass> *);
- JArray<java::lang::reflect::Method *> *getMethods (void);
-
- jint getModifiers (void)
- {
- return accflags;
- }
-
- jstring getName (void);
-
- java::io::InputStream *getResourceAsStream (jstring resourceName);
- JArray<jobject> *getSigners (void);
-
- jclass getSuperclass (void)
- {
- return superclass;
- }
-
- jboolean isArray (void)
- {
- return name->data[0] == '[';
- }
-
- jboolean isAssignableFrom (jclass cls);
- jboolean isInstance (jobject obj);
- jboolean isInterface (void);
-
- jboolean isPrimitive (void)
- {
- return vtable == JV_PRIMITIVE_VTABLE;
- }
-
- jobject newInstance (void);
- jstring toString (void);
-
- // FIXME: this probably shouldn't be public.
- jint size (void)
- {
- return size_in_bytes;
- }
-
-private:
- void checkMemberAccess (jint flags);
- void resolveConstants (void);
-
- // Various functions to handle class initialization.
- java::lang::Throwable *hackTrampoline (jint, java::lang::Throwable *);
- void hackRunInitializers (void);
- void initializeClass (void);
-
- // Friend functions implemented in natClass.cc.
- friend _Jv_Method *_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
- _Jv_Utf8Const *signature);
- friend void _Jv_InitClass (jclass klass);
- friend void _Jv_RegisterClasses (jclass *classes);
- friend jclass _Jv_FindClassInCache (_Jv_Utf8Const *name,
- java::lang::ClassLoader *loader);
- friend jclass _Jv_FindArrayClass (jclass element);
- friend jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
- java::lang::ClassLoader *loader);
-
- friend jfieldID JvGetFirstInstanceField (jclass);
- friend jint JvNumInstanceFields (jclass);
- friend jobject _Jv_AllocObject (jclass, jint);
- friend jobjectArray _Jv_NewObjectArray (jsize, jclass, jobject);
- friend jobject _Jv_NewPrimArray (jclass, jint);
- friend jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv *, jclass, jfieldID);
- friend jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
- friend jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
-
- friend class _Jv_PrimClass;
-
-#ifdef JV_MARKOBJ_DECL
- friend JV_MARKOBJ_DECL;
-#endif
-
- // Chain for class pool.
- jclass next;
- // Name of class.
- _Jv_Utf8Const *name;
- // Access flags for class.
- unsigned short accflags;
- // The superclass, or null for Object.
- jclass superclass;
- // Class constants.
- _Jv_Constants constants;
- // Methods. If this is an array class, then this field holds a
- // pointer to the element type. If this is a primitive class, this
- // is used to cache a pointer to the appropriate array type.
- _Jv_Method *methods;
- // Number of methods. If this class is primitive, this holds the
- // character used to represent this type in a signature.
- short method_count;
- // Number of methods in the vtable.
- short vtable_method_count;
- // The fields.
- _Jv_Field *fields;
- // Size of instance fields, in bytes.
- int size_in_bytes;
- // Total number of fields (instance and static).
- short field_count;
- // Number of static fields.
- short static_field_count;
- // The vtbl for all objects of this class.
- _Jv_VTable *vtable;
- // Interfaces implemented by this class.
- jclass *interfaces;
- // The class loader for this class.
- java::lang::ClassLoader *loader;
- // Number of interfaces.
- short interface_count;
- // State of this class.
- jbyte state;
- // The thread which has locked this class. Used during class
- // initialization.
- java::lang::Thread *thread;
-};
-
-#endif /* __JAVA_LANG_CLASS_H__ */