CACAO
Namespaces | Functions
class.cpp File Reference

Go to the source code of this file.

Namespaces

 cacao
 This file contains the Instruction class.
 

Functions

java_handle_tclass_get_classname (classinfo *c)
 Returns the classname of the class, where slashes ('/') are replaced by dots ('. More...
 
void class_set_packagename (classinfo *c)
 
classinfoclass_create_classinfo (Utf8String classname)
 
void class_postset_header_vftbl (void)
 
classinfoclass_define (Utf8String name, classloader_t *cl, int32_t length, uint8_t *data, java_handle_t *pd)
 
static bool class_load_attribute_sourcefile (ClassBuffer &cb)
 
static bool class_load_attribute_enclosingmethod (ClassBuffer &cb)
 
bool class_load_attributes (ClassBuffer &cb)
 
static void class_freecpool (classinfo *c)
 
voidclass_getconstant (classinfo *c, u4 pos, ConstantPoolTag ctype)
 
voidinnerclass_getconstant (classinfo *c, u4 pos, ConstantPoolTag ctype)
 
void class_free (classinfo *c)
 
static classinfoget_array_class (Utf8String name, classloader_t *initloader, classloader_t *defloader, bool link)
 
classinfoclass_array_of (classinfo *component, bool link)
 
classinfoclass_multiarray_of (s4 dim, classinfo *element, bool link)
 
constant_classrefclass_lookup_classref (classinfo *cls, Utf8String name)
 
constant_classrefclass_get_classref (classinfo *cls, Utf8String name)
 
constant_classrefclass_get_self_classref (classinfo *cls)
 
constant_classrefclass_get_classref_multiarray_of (s4 dim, constant_classref *ref)
 
constant_classrefclass_get_classref_component_of (constant_classref *ref)
 
methodinfoclass_findmethod (classinfo *c, Utf8String name, Utf8String desc)
 
methodinfoclass_resolvemethod (classinfo *c, Utf8String name, Utf8String desc)
 
static methodinfoclass_resolveinterfacemethod_intern (classinfo *c, Utf8String name, Utf8String desc)
 
methodinfoclass_resolveclassmethod (classinfo *c, Utf8String name, Utf8String desc, classinfo *referer, bool throwexception)
 
methodinfoclass_resolveinterfacemethod (classinfo *c, Utf8String name, Utf8String desc, classinfo *referer, bool throwexception)
 
fieldinfoclass_findfield (classinfo *c, Utf8String name, Utf8String desc)
 
fieldinfoclass_findfield_by_name (classinfo *c, Utf8String name, bool throwexception)
 
static fieldinfoclass_resolvefield_int (classinfo *c, Utf8String name, Utf8String desc)
 
fieldinfoclass_resolvefield (classinfo *c, Utf8String name, Utf8String desc, classinfo *referer)
 
bool class_issubclass (classinfo *sub, classinfo *super)
 
bool class_isanysubclass (classinfo *sub, classinfo *super)
 
bool class_is_arraycompatible (arraydescriptor *desc, arraydescriptor *target)
 
bool class_is_assignable_from (classinfo *to, classinfo *from)
 
bool class_is_instance (classinfo *c, java_handle_t *h)
 
classinfoclass_get_componenttype (classinfo *c)
 
java_handle_objectarray_tclass_get_declaredclasses (classinfo *c, bool publicOnly)
 
java_handle_objectarray_tclass_get_declaredconstructors (classinfo *c, bool publicOnly)
 Return an array of declared constructors of the given class. More...
 
java_handle_objectarray_tclass_get_declaredfields (classinfo *c, bool publicOnly)
 
java_handle_objectarray_tclass_get_declaredmethods (classinfo *c, bool publicOnly)
 
classinfoclass_get_declaringclass (classinfo *c)
 
classinfoclass_get_enclosingclass (classinfo *c)
 
java_handle_tclass_get_enclosingconstructor (classinfo *c)
 Return the enclosing constructor as java.lang.reflect.Constructor object for the given class. More...
 
methodinfoclass_get_enclosingmethod_raw (classinfo *c)
 
java_handle_tclass_get_enclosingmethod (classinfo *c)
 Return the enclosing method as java.lang.reflect.Method object for the given class. More...
 
java_handle_objectarray_tclass_get_interfaces (classinfo *c)
 
java_handle_bytearray_tclass_get_annotations (classinfo *c)
 
int32_t class_get_modifiers (classinfo *c, bool ignoreInnerClassesAttrib)
 
bool class_initializing_thread_is_self (classinfo *c)
 Helper function for the function class_is_or_almost_initialized. More...
 
Utf8String class_get_signature (classinfo *c)
 
void class_printflags (classinfo *c)
 
void class_print (classinfo *c)
 
void class_classref_print (constant_classref *cr)
 
void class_println (classinfo *c)
 
void class_classref_println (constant_classref *cr)
 
void class_classref_or_classinfo_print (classref_or_classinfo c)
 
void class_classref_or_classinfo_println (classref_or_classinfo c)
 
void class_showconstantpool (classinfo *c)
 
void class_showmethods (classinfo *c)
 
OStreamcacao::operator<< (OStream &os, const classinfo *c)
 

Function Documentation

classinfo* class_array_of ( classinfo component,
bool  link 
)

Definition at line 832 of file class.cpp.

void class_classref_or_classinfo_print ( classref_or_classinfo  c)

Definition at line 2306 of file class.cpp.

void class_classref_or_classinfo_println ( classref_or_classinfo  c)

Definition at line 2327 of file class.cpp.

void class_classref_print ( constant_classref cr)

Definition at line 2251 of file class.cpp.

void class_classref_println ( constant_classref cr)

Definition at line 2291 of file class.cpp.

classinfo* class_create_classinfo ( Utf8String  classname)

Definition at line 145 of file class.cpp.

classinfo* class_define ( Utf8String  name,
classloader_t cl,
int32_t  length,
uint8_t *  data,
java_handle_t pd 
)

Definition at line 243 of file class.cpp.

fieldinfo* class_findfield ( classinfo c,
Utf8String  name,
Utf8String  desc 
)

Definition at line 1299 of file class.cpp.

fieldinfo* class_findfield_by_name ( classinfo c,
Utf8String  name,
bool  throwexception 
)

Definition at line 1319 of file class.cpp.

methodinfo* class_findmethod ( classinfo c,
Utf8String  name,
Utf8String  desc 
)

Definition at line 1124 of file class.cpp.

void class_free ( classinfo c)

Definition at line 739 of file class.cpp.

static void class_freecpool ( classinfo c)
static

Definition at line 608 of file class.cpp.

java_handle_bytearray_t* class_get_annotations ( classinfo c)

Definition at line 2100 of file class.cpp.

java_handle_t* class_get_classname ( classinfo c)

Returns the classname of the class, where slashes ('/') are replaced by dots ('.

').

Parameters
cclass to get name of
Returns
classname

Definition at line 86 of file class.cpp.

constant_classref* class_get_classref ( classinfo cls,
Utf8String  name 
)

Definition at line 985 of file class.cpp.

constant_classref* class_get_classref_component_of ( constant_classref ref)

Definition at line 1094 of file class.cpp.

constant_classref* class_get_classref_multiarray_of ( s4  dim,
constant_classref ref 
)

Definition at line 1038 of file class.cpp.

classinfo* class_get_componenttype ( classinfo c)

Definition at line 1594 of file class.cpp.

java_handle_objectarray_t* class_get_declaredclasses ( classinfo c,
bool  publicOnly 
)

Definition at line 1626 of file class.cpp.

java_handle_objectarray_t* class_get_declaredconstructors ( classinfo c,
bool  publicOnly 
)

Return an array of declared constructors of the given class.

Parameters
cclass to get the constructors of
publicOnlyshow only public fields
Returns
array of java.lang.reflect.Constructor

Definition at line 1708 of file class.cpp.

java_handle_objectarray_t* class_get_declaredfields ( classinfo c,
bool  publicOnly 
)

Definition at line 1765 of file class.cpp.

java_handle_objectarray_t* class_get_declaredmethods ( classinfo c,
bool  publicOnly 
)

Definition at line 1818 of file class.cpp.

classinfo* class_get_declaringclass ( classinfo c)

Definition at line 1882 of file class.cpp.

classinfo* class_get_enclosingclass ( classinfo c)

Definition at line 1920 of file class.cpp.

java_handle_t* class_get_enclosingconstructor ( classinfo c)

Return the enclosing constructor as java.lang.reflect.Constructor object for the given class.

Parameters
cclass to return the enclosing constructor for
Returns
java.lang.reflect.Constructor object of the enclosing constructor

Definition at line 1962 of file class.cpp.

java_handle_t* class_get_enclosingmethod ( classinfo c)

Return the enclosing method as java.lang.reflect.Method object for the given class.

Parameters
cclass to return the enclosing method for
Returns
java.lang.reflect.Method object of the enclosing method

Definition at line 2036 of file class.cpp.

methodinfo* class_get_enclosingmethod_raw ( classinfo c)

Definition at line 1995 of file class.cpp.

java_handle_objectarray_t* class_get_interfaces ( classinfo c)

Definition at line 2065 of file class.cpp.

int32_t class_get_modifiers ( classinfo c,
bool  ignoreInnerClassesAttrib 
)

Definition at line 2126 of file class.cpp.

constant_classref* class_get_self_classref ( classinfo cls)

Definition at line 1013 of file class.cpp.

Utf8String class_get_signature ( classinfo c)

Definition at line 2183 of file class.cpp.

void* class_getconstant ( classinfo c,
u4  pos,
ConstantPoolTag  ctype 
)

Definition at line 679 of file class.cpp.

bool class_initializing_thread_is_self ( classinfo c)

Helper function for the function class_is_or_almost_initialized.

Definition at line 2169 of file class.cpp.

bool class_is_arraycompatible ( arraydescriptor desc,
arraydescriptor target 
)

Definition at line 1488 of file class.cpp.

bool class_is_assignable_from ( classinfo to,
classinfo from 
)

Definition at line 1539 of file class.cpp.

bool class_is_instance ( classinfo c,
java_handle_t h 
)

Definition at line 1572 of file class.cpp.

bool class_isanysubclass ( classinfo sub,
classinfo super 
)

Definition at line 1435 of file class.cpp.

bool class_issubclass ( classinfo sub,
classinfo super 
)

Definition at line 1404 of file class.cpp.

static bool class_load_attribute_enclosingmethod ( ClassBuffer cb)
static

Definition at line 391 of file class.cpp.

static bool class_load_attribute_sourcefile ( ClassBuffer cb)
static

Definition at line 336 of file class.cpp.

bool class_load_attributes ( ClassBuffer cb)

Definition at line 456 of file class.cpp.

constant_classref* class_lookup_classref ( classinfo cls,
Utf8String  name 
)

Definition at line 941 of file class.cpp.

classinfo* class_multiarray_of ( s4  dim,
classinfo element,
bool  link 
)

Definition at line 881 of file class.cpp.

void class_postset_header_vftbl ( void  )

Definition at line 210 of file class.cpp.

void class_print ( classinfo c)

Definition at line 2231 of file class.cpp.

void class_printflags ( classinfo c)

Definition at line 2202 of file class.cpp.

void class_println ( classinfo c)

Definition at line 2276 of file class.cpp.

methodinfo* class_resolveclassmethod ( classinfo c,
Utf8String  name,
Utf8String  desc,
classinfo referer,
bool  throwexception 
)

Definition at line 1211 of file class.cpp.

fieldinfo* class_resolvefield ( classinfo c,
Utf8String  name,
Utf8String  desc,
classinfo referer 
)

Definition at line 1383 of file class.cpp.

static fieldinfo* class_resolvefield_int ( classinfo c,
Utf8String  name,
Utf8String  desc 
)
static

Definition at line 1344 of file class.cpp.

methodinfo* class_resolveinterfacemethod ( classinfo c,
Utf8String  name,
Utf8String  desc,
classinfo referer,
bool  throwexception 
)

Definition at line 1261 of file class.cpp.

static methodinfo* class_resolveinterfacemethod_intern ( classinfo c,
Utf8String  name,
Utf8String  desc 
)
static

Definition at line 1176 of file class.cpp.

methodinfo* class_resolvemethod ( classinfo c,
Utf8String  name,
Utf8String  desc 
)

Definition at line 1145 of file class.cpp.

void class_set_packagename ( classinfo c)

Definition at line 102 of file class.cpp.

void class_showconstantpool ( classinfo c)

Definition at line 2342 of file class.cpp.

void class_showmethods ( classinfo c)

Definition at line 2439 of file class.cpp.

static classinfo* get_array_class ( Utf8String  name,
classloader_t initloader,
classloader_t defloader,
bool  link 
)
static

Definition at line 793 of file class.cpp.

void* innerclass_getconstant ( classinfo c,
u4  pos,
ConstantPoolTag  ctype 
)

Definition at line 708 of file class.cpp.