Classes | |
| union | ConstPoolEntry |
| The constant pool entry descriptor. More... | |
| struct | ConstantPool |
| The constant pool of a class and related operations. More... | |
| struct | Class |
| VM representation of Java class. More... | |
| struct | Class.Class_Super |
| struct | Class.InnerClass |
Defines | |
| #define | CLASSFILE_MAGIC 0xCAFEBABE |
| #define | CLASSFILE_MAJOR_MIN 45 |
| #define | CLASSFILE_MAJOR_MAX 50 |
| #define | CLASSFILE_MINOR_MAX 0 |
Enumerations | |
| enum | ConstPoolTags { CONSTANT_Tags = 0, CONSTANT_Utf8 = 1, CONSTANT_Integer = 3, CONSTANT_Float = 4, CONSTANT_Long = 5, CONSTANT_Double = 6, CONSTANT_Class = 7, CONSTANT_String = 8, CONSTANT_Fieldref = 9, CONSTANT_Methodref = 10, CONSTANT_InterfaceMethodref = 11, CONSTANT_NameAndType = 12, CONSTANT_Last = CONSTANT_NameAndType, CONSTANT_UnusedEntry = CONSTANT_Last + 1 } |
| Types of constant pool entries. More... | |
| enum | Class_State { ST_Start, ST_LoadingAncestors, ST_Loaded, ST_BytecodesVerified, ST_InstanceSizeComputed, ST_Prepared, ST_ConstraintsVerified, ST_Initializing, ST_Initialized, ST_Error } |
| The state of the Java class. More... | |
| enum | AccessAndPropertiesFlags { ACC_PUBLIC = 0x0001, ACC_PRIVATE = 0x0002, ACC_PROTECTED = 0x0004, ACC_STATIC = 0x0008, ACC_FINAL = 0x0010, ACC_SUPER = 0x0020, ACC_SYNCHRONIZED = 0x0020, ACC_BRIDGE = 0x0040, ACC_VOLATILE = 0x0040, ACC_VARARGS = 0x0080, ACC_TRANSIENT = 0x0080, ACC_NATIVE = 0x0100, ACC_INTERFACE = 0x0200, ACC_ABSTRACT = 0x0400, ACC_STRICT = 0x0800, ACC_SYNTHETIC = 0x1000, ACC_ANNOTATION = 0x2000, ACC_ENUM = 0x4000 } |
| Access and properties flags for Class, Field and Method. More... | |
Functions | |
| VMEXPORT String * | class_name_get_java_name (const String *class_name) |
| Converts a class name from an internal (VM) form to the Java form. | |
| ManagedObject * | struct_Class_to_java_lang_Class (Class *clss) |
| Gets instance of java/lang/Class associated with this class. | |
| jclass | struct_Class_to_jclass (Class *clss) |
| Gets handle of java/lang/Class instance associated with this class. | |
| Class * | jclass_to_struct_Class (jclass jc) |
| Gets native class from the java/lang/Class handle. | |
| Class * | jobject_to_struct_Class (jobject jobj) |
| Gets native class for any given object handle. | |
| jobject | struct_Class_to_java_lang_Class_Handle (Class *clss) |
| Gets pointer to instance of java/lang/Class associated with the class. | |
| Class * | java_lang_Class_to_struct_Class (ManagedObject *jlc) |
| Gets native class from instance of java/lang/Class. | |
| Field * | class_lookup_field_recursive (Class *clss, const char *name, const char *desc) |
| Looks up field in class and its superclasses. | |
| VMEXPORT Method * | class_lookup_method_recursive (Class *clss, const String *name, const String *desc) |
| Looks up method in class and its superclasses. | |
| Method * | class_lookup_method_recursive (Class *clss, const char *name, const char *desc) |
| Looks up method in class and its superclasses. | |
| Method * | class_lookup_method (Class *clss, const char *name, const char *desc) |
| Looks up method in the given class only. | |
| Method * | class_get_method_from_vt_offset (VTable *vt, unsigned offset) |
| Gets method given its offset in the vtable. | |
| Field * | class_resolve_nonstatic_field (Class *clss, unsigned cp_index) |
| Resolves non-static field at the specified index in the constant pool of the class. | |
| Class * | class_load_verify_prepare_by_loader_jni (Global_Env *env, const String *classname, ClassLoader *cl) |
| Loads a class and performs the first two parts of the link process: verify and prepare. | |
| Class * | class_load_verify_prepare_from_jni (Global_Env *env, const String *classname) |
| Loads a class with bootstrap class loader and performs the first two parts of the link process: verify and prepare. | |
| void | class_initialize_from_jni (Class *clss) |
| Executes static initializer of class. | |
| void | class_initialize_ex (Class *clss) |
| Executes static initializer of class. | |
| VMEXPORT void | class_initialize (Class *clss) |
| Executes static initializer of class. | |
| bool | class_register_methods (Class_Handle klass, const JNINativeMethod *methods, int num_methods) |
| Registers a number of native methods to a given class. | |
| bool | class_unregister_methods (Class_Handle klass) |
| Unregisters a native methods off a given class. | |
| Class * | resolve_class_new_env (Global_Env *env, Class *clss, unsigned cp_index, bool raise_exn) |
| Method * | resolve_special_method_env (Global_Env *env, Class_Handle curr_clss, unsigned index, bool raise_exn) |
| Method * | resolve_static_method_env (Global_Env *env, Class *clss, unsigned cp_index, bool raise_exn) |
| Method * | resolve_virtual_method_env (Global_Env *env, Class *clss, unsigned cp_index, bool raise_exn) |
| Method * | resolve_interface_method_env (Global_Env *env, Class *clss, unsigned cp_index, bool raise_exn) |
| Field * | resolve_static_field_env (Global_Env *env, Class *clss, unsigned cp_index, bool putfield, bool is_runtume) |
| Field * | resolve_nonstatic_field_env (Global_Env *env, Class *clss, unsigned cp_index, unsigned putfield, bool raise_exn) |
| #define CLASSFILE_MAGIC 0xCAFEBABE |
| #define CLASSFILE_MAJOR_MIN 45 |
| #define CLASSFILE_MAJOR_MAX 50 |
| #define CLASSFILE_MINOR_MAX 0 |
| enum ConstPoolTags |
Types of constant pool entries.
These entry types are defined by a seperate byte array that the first constant pool entry points at.
| CONSTANT_Tags |
pointer to the tags array.
|
| CONSTANT_Utf8 |
The next 11 tag values are taken from The Java Virtual Machine Specification, Chapter 4, The Constant Pool section.
|
| CONSTANT_Integer | |
| CONSTANT_Float | |
| CONSTANT_Long | |
| CONSTANT_Double | |
| CONSTANT_Class | |
| CONSTANT_String | |
| CONSTANT_Fieldref | |
| CONSTANT_Methodref | |
| CONSTANT_InterfaceMethodref | |
| CONSTANT_NameAndType | |
| CONSTANT_Last | |
| CONSTANT_UnusedEntry | used to mark second entry of Long and Double |
| enum Class_State |
The state of the Java class.
Access and properties flags for Class, Field and Method.
| ACC_PUBLIC |
Public access modifier.
Valid for Class, Field, Method. |
| ACC_PRIVATE |
Private access modifier.
Valid for Field, Method. |
| ACC_PROTECTED |
Protected access modifier.
Valid for Field, Method. |
| ACC_STATIC |
Static modifier.
Valid for Field, Method. |
| ACC_FINAL |
Final modifier.
Valid for Class, Field, Method. |
| ACC_SUPER |
Super modifier.
Valid for Class. |
| ACC_SYNCHRONIZED |
Synchronized modifier.
Valid for Method. |
| ACC_BRIDGE |
Bridge modifier.
Valid for Method (since J2SE 5.0). |
| ACC_VOLATILE |
Volatile modifier.
Valid for Field. |
| ACC_VARARGS |
Varargs modifier.
Valid for Method (since J2SE 5.0). |
| ACC_TRANSIENT |
Transient modifier.
Valid for Field. |
| ACC_NATIVE |
Native modifier.
Valid for Method. |
| ACC_INTERFACE |
Interface modifier.
Valid for Class. |
| ACC_ABSTRACT |
Abstract modifier.
Valid for Class, Method. |
| ACC_STRICT |
Strict modifier.
Valid for Method. |
| ACC_SYNTHETIC |
Synthetic modifier.
Valid for Class, Field, Method (since J2SE 5.0). |
| ACC_ANNOTATION |
Annotation modifier.
Valid for Class (since J2SE 5.0). |
| ACC_ENUM |
Enum modifier.
Valid for Class, Field (since J2SE 5.0). |
Converts a class name from an internal (VM) form to the Java form.
| [in] | class_name | - the class name in an internal form |
| ManagedObject* struct_Class_to_java_lang_Class | ( | Class * | clss | ) |
Gets instance of java/lang/Class associated with this class.
| [in] | clss | - class to retrieve java/lang/Class instance for. |
Gets handle of java/lang/Class instance associated with this class.
| [in] | clss | - class to retrieve handle with java/lang/Class instance for. |
Gets native class for any given object handle.
| [in] | jobj | - object to retrieve class for. |
Gets pointer to instance of java/lang/Class associated with the class.
| [in] | clss | - class to retrieve pointer to instance of java/lang/Class for. |
| Class* java_lang_Class_to_struct_Class | ( | ManagedObject * | jlc | ) |
Gets native class from instance of java/lang/Class.
| [in] | jlc | - instance of java/lang/Class to retrieve class from. |
| Field* class_lookup_field_recursive | ( | Class * | clss, | |
| const char * | name, | |||
| const char * | desc | |||
| ) |
Looks up field in class and its superclasses.
| [in] | clss | - class to lookup field in. |
| [in] | name | - name of the field. |
| [in] | desc | - descriptor of the field. |
NULL otherwise. | VMEXPORT Method* class_lookup_method_recursive | ( | Class * | clss, | |
| const String * | name, | |||
| const String * | desc | |||
| ) |
Looks up method in class and its superclasses.
| [in] | clss | - class to lookup method in. |
| [in] | name | - name of the method as VM String. |
| [in] | desc | - descriptor of the method as VM String. |
NULL otherwise. | Method* class_lookup_method_recursive | ( | Class * | clss, | |
| const char * | name, | |||
| const char * | desc | |||
| ) |
Looks up method in class and its superclasses.
| [in] | clss | - class to lookup method in. |
| [in] | name | - name of the method. |
| [in] | desc | - descriptor of the method. |
NULL otherwise. | Method* class_lookup_method | ( | Class * | clss, | |
| const char * | name, | |||
| const char * | desc | |||
| ) |
Looks up method in the given class only.
| [in] | clss | - class to lookup method in. |
| [in] | name | - name of the method. |
| [in] | desc | - descriptor of the method. |
NULL otherwise. | Method* class_get_method_from_vt_offset | ( | VTable * | vt, | |
| unsigned | offset | |||
| ) |
Gets method given its offset in the vtable.
| [in] | vt | - vtable containing method. |
| [in] | offset | - offset of the method in the vtable. |
| Field* class_resolve_nonstatic_field | ( | Class * | clss, | |
| unsigned | cp_index | |||
| ) |
Resolves non-static field at the specified index in the constant pool of the class.
| [in] | clss | - class to resolve field in. |
| [in] | cp_index | - index in the constant pool of the class. |
NULL otherwise. | Class* class_load_verify_prepare_by_loader_jni | ( | Global_Env * | env, | |
| const String * | classname, | |||
| ClassLoader * | cl | |||
| ) |
Loads a class and performs the first two parts of the link process: verify and prepare.
| [in] | env | - VM environment. |
| [in] | classname | - name of a class to load. |
| [in] | cl | - class loader to load class with. |
NULL otherwise. | Class* class_load_verify_prepare_from_jni | ( | Global_Env * | env, | |
| const String * | classname | |||
| ) |
Loads a class with bootstrap class loader and performs the first two parts of the link process: verify and prepare.
| [in] | env | - VM environment. |
| [in] | classname | - name of a class to load. |
| [in] | cl | - class loader to load class with. |
NULL otherwise. | void class_initialize_from_jni | ( | Class * | clss | ) |
Executes static initializer of class.
| [in] | clss | - class to initialize. |
| void class_initialize_ex | ( | Class * | clss | ) |
Executes static initializer of class.
| [in] | clss | - class to initialize. |
| VMEXPORT void class_initialize | ( | Class * | clss | ) |
Executes static initializer of class.
| [in] | clss | - class to initialize. |
| bool class_register_methods | ( | Class_Handle | klass, | |
| const JNINativeMethod * | methods, | |||
| int | num_methods | |||
| ) |
Registers a number of native methods to a given class.
| [in] | klass | - a specified class |
| [in] | methods | - an array of methods |
| [in] | num_methods | - a number of methods |
false, if methods resistration is successful; otherwise true. NoSuchMethodError with the method name in exception message, if one of the methods in the JNINativeMethod* array is not present in a specified class. | bool class_unregister_methods | ( | Class_Handle | klass | ) |
Unregisters a native methods off a given class.
| [in] | klass | - specified class |
false, if methods unresistration is successful; otherwise true. | Class* resolve_class_new_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| bool | raise_exn | |||
| ) |
| Method* resolve_special_method_env | ( | Global_Env * | env, | |
| Class_Handle | curr_clss, | |||
| unsigned | index, | |||
| bool | raise_exn | |||
| ) |
| Method* resolve_static_method_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| bool | raise_exn | |||
| ) |
| Method* resolve_virtual_method_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| bool | raise_exn | |||
| ) |
| Method* resolve_interface_method_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| bool | raise_exn | |||
| ) |
| Field* resolve_static_field_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| bool | putfield, | |||
| bool | is_runtume | |||
| ) |
| Field* resolve_nonstatic_field_env | ( | Global_Env * | env, | |
| Class * | clss, | |||
| unsigned | cp_index, | |||
| unsigned | putfield, | |||
| bool | raise_exn | |||
| ) |
Genereated on Tue Mar 11 19:25:22 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.