CACAO
Data Structures | Macros | Enumerations
references.hpp File Reference

Go to the source code of this file.

Data Structures

struct  constant_classref
 
union  classref_or_classinfo
 
union  parseddesc_t
 
struct  constant_FMIref
 Fieldref, Methodref and InterfaceMethodref. More...
 
struct  constant_MethodHandle
 
struct  constant_MethodType
 A MethodType constant stored in the constant pool. More...
 
struct  constant_InvokeDynamic
 An invokedynamic call site. More...
 

Macros

#define CLASSREF_PSEUDO_VFTBL   (reinterpret_cast<void *>(1))
 a value that never occurrs in classinfo.header.vftbl More...
 
#define CLASSREF_OR_CLASSINFO_NAME(value)   ((value).is_classref() ? (value).ref->name : (value).cls->name)
 
#define METHODREF_CLASSNAME(fmiref)
 
#define FIELDREF_CLASSNAME(fmiref)
 

Enumerations

enum  MethodHandleKind {
  REF_getField = 1, REF_getStatic = 2, REF_putField = 3, REF_putStatic = 4,
  REF_invokeVirtual = 5, REF_invokeStatic = 6, REF_invokeSpecial = 7, REF_newInvokeSpecial = 8,
  REF_invokeInterface = 9
}
 The kinds of methodhandles that can appear in a class file. More...
 

Functions

static classref_or_classinfo to_classref_or_classinfo (classinfo *c)
 Functions for casting a classref/classinfo to a classref_or_classinfo. More...
 
static classref_or_classinfo to_classref_or_classinfo (constant_classref *c)
 

Macro Definition Documentation

#define CLASSREF_OR_CLASSINFO_NAME (   value)    ((value).is_classref() ? (value).ref->name : (value).cls->name)

Definition at line 194 of file references.hpp.

#define CLASSREF_PSEUDO_VFTBL   (reinterpret_cast<void *>(1))

a value that never occurrs in classinfo.header.vftbl

Definition at line 43 of file references.hpp.

#define FIELDREF_CLASSNAME (   fmiref)
Value:
((fmiref)->is_resolved() ? (fmiref)->p.field->clazz->name \
: (fmiref)->p.classref->name)

Definition at line 203 of file references.hpp.

#define METHODREF_CLASSNAME (   fmiref)
Value:
((fmiref)->is_resolved() ? (fmiref)->p.method->clazz->name \
: (fmiref)->p.classref->name)

Definition at line 198 of file references.hpp.

Enumeration Type Documentation

The kinds of methodhandles that can appear in a class file.

Enumerator
REF_getField 
REF_getStatic 
REF_putField 
REF_putStatic 
REF_invokeVirtual 
REF_invokeStatic 
REF_invokeSpecial 
REF_newInvokeSpecial 
REF_invokeInterface 

Definition at line 111 of file references.hpp.

Function Documentation

static classref_or_classinfo to_classref_or_classinfo ( classinfo c)
inlinestatic

Functions for casting a classref/classinfo to a classref_or_classinfo.

C++11:
Replace with constructors in classref_or_classinfo. With C++98 this breaks other unions that use classref_or_classinfo.

Definition at line 176 of file references.hpp.

static classref_or_classinfo to_classref_or_classinfo ( constant_classref c)
inlinestatic

Definition at line 181 of file references.hpp.