/* defined in classMethod.h */
/* to represent a class */
/* Link to class entry */
struct _classEntry*
centry;
Utf8Const*
name;
accessFlags
accflags;
/* If non-NULL, a pointer
to the superclass.
* However, if state
< CSTATE_DOING_PREPARE, then
* (int) superclass
is a constant pool index. */
struct Hjava_lang_Class*
superclass;
struct _constants constants; /* setup while read in constant pool from opened file, 'constants.c'->readConstantPool ()*/
/* For regular classes, an
array of the methods defined in this class.
For array
types, used for CLASS_ELEMENT_TYPE.
For primitive
types, used by CLASS_ARRAY_CACHE. */
Method*
methods;
short
nmethods;
/* Number of methods in the
dtable. */
/* If CLASS_IS_PRIMITIVE,
then the CLASS_PRIM_SIG. */
short
msize;
/* Pointer to array of Fields,
on for each field.
Static
fields come first. */
Field*
fields;
/* The size of the non-static
fields, in bytes.
For a
primitive type, the length in bytes.
Also used
temporarily while reading fields. */
int
bfsize;
/* Number of fields, including
static fields. */
short
nfields;
/* Number of static fields.
*/
short
nsfields;
struct _dispatchTable* dtable;
struct Hjava_lang_Class**
interfaces;
short
interface_len;
short
total_interface_len;
Hjava_lang_ClassLoader*
loader;
/* A bitmap describing the
layout of instances of that class.
It contains
CLASS_FSIZE/ALIGNMENTVOIDP bits.
The MSB
corresponds to the dtable field.
*/
int*
gc_layout;
char
state;
void*
processingThread;
/* defined in classMethod.h */
/* Class hash entry. */
/* defined in classMethod.h */
/* to represent a method */
/* defined in classMethod.h */
/* dispatch table */
/* defined in classMethod.h */
/* to represent a field */
/* defined in include/java_lang_Object.h */
/* to represent an object */