CACAO
|
Public Member Functions | |
DescriptorPool (classinfo *referer) | |
bool | add_class (Utf8String name) |
bool | add_field (Utf8String desc) |
ssize_t | add_method (Utf8String desc) |
constant_classref * | create_classrefs (s4 *count) |
constant_classref * | lookup_classref (Utf8String classname) |
void | alloc_parsed_descriptors () |
typedesc * | parse_field_descriptor (Utf8String desc) |
methoddesc * | parse_method_descriptor (Utf8String desc, s4 mflags, constant_classref *thisclass) |
classinfo * | get_referer () |
void | get_sizes (size_t *classrefsize, size_t *descsize) |
Private Types | |
typedef HashTable < InsertOnlyNameValuePair< u2 > > | ClassrefHash |
typedef HashTable < InsertOnlyNameValuePair < typedesc * > > | FieldrefHash |
Private Member Functions | |
template<typename T > | |
T * | allocate (size_t size=sizeof(T)) |
Private Attributes | |
ClassrefHash | classrefhash |
FieldrefHash | fieldrefhash |
classinfo * | referer |
size_t | fieldcount |
size_t | methodcount |
size_t | paramcount |
size_t | descriptorsize |
constant_classref * | classrefs |
Mutex * | mutex |
uint8_t * | descriptors |
uint8_t * | descriptors_next |
Definition at line 82 of file descriptor.hpp.
|
private |
Definition at line 105 of file descriptor.hpp.
|
private |
Definition at line 106 of file descriptor.hpp.
DescriptorPool::DescriptorPool | ( | classinfo * | referer | ) |
Definition at line 479 of file descriptor.cpp.
bool DescriptorPool::add_class | ( | Utf8String | name | ) |
Definition at line 511 of file descriptor.cpp.
bool DescriptorPool::add_field | ( | Utf8String | desc | ) |
Definition at line 543 of file descriptor.cpp.
ssize_t DescriptorPool::add_method | ( | Utf8String | desc | ) |
Definition at line 576 of file descriptor.cpp.
void DescriptorPool::alloc_parsed_descriptors | ( | ) |
Definition at line 678 of file descriptor.cpp.
|
inlineprivate |
Definition at line 497 of file descriptor.cpp.
constant_classref * DescriptorPool::create_classrefs | ( | s4 * | count | ) |
Definition at line 630 of file descriptor.cpp.
classinfo * DescriptorPool::get_referer | ( | ) |
Definition at line 945 of file descriptor.cpp.
void DescriptorPool::get_sizes | ( | size_t * | classrefsize, |
size_t * | descsize | ||
) |
Definition at line 961 of file descriptor.cpp.
constant_classref * DescriptorPool::lookup_classref | ( | Utf8String | classname | ) |
Definition at line 657 of file descriptor.cpp.
typedesc * DescriptorPool::parse_field_descriptor | ( | Utf8String | desc | ) |
Definition at line 708 of file descriptor.cpp.
methoddesc * DescriptorPool::parse_method_descriptor | ( | Utf8String | desc, |
s4 | mflags, | ||
constant_classref * | thisclass | ||
) |
Definition at line 751 of file descriptor.cpp.
|
private |
Definition at line 108 of file descriptor.hpp.
|
private |
Definition at line 116 of file descriptor.hpp.
|
private |
Definition at line 121 of file descriptor.hpp.
|
private |
Definition at line 122 of file descriptor.hpp.
|
private |
Definition at line 115 of file descriptor.hpp.
|
private |
Definition at line 112 of file descriptor.hpp.
|
private |
Definition at line 109 of file descriptor.hpp.
|
private |
Definition at line 113 of file descriptor.hpp.
|
private |
Definition at line 117 of file descriptor.hpp.
|
private |
Definition at line 114 of file descriptor.hpp.
|
private |
Definition at line 111 of file descriptor.hpp.