Panda3D
|
An internal representation of a type. More...
#include "interrogateType.h"
Classes | |
class | Derivation |
class | EnumValue |
Public Types | |
enum | DerivationFlags { DF_upcast = 0x01, DF_downcast = 0x02, DF_downcast_impossible = 0x04 } |
typedef vector< ElementIndex > | Elements |
typedef vector< FunctionIndex > | Functions |
typedef vector< MakeSeqIndex > | MakeSeqs |
Public Member Functions | |
InterrogateType (InterrogateModuleDef *def=NULL) | |
InterrogateType (const InterrogateType ©) | |
bool | derivation_downcast_is_impossible (int n) const |
FunctionIndex | derivation_get_downcast (int n) const |
FunctionIndex | derivation_get_upcast (int n) const |
bool | derivation_has_downcast (int n) const |
bool | derivation_has_upcast (int n) const |
bool | destructor_is_inherited () const |
AtomicToken | get_atomic_token () const |
FunctionIndex | get_cast (int n) const |
const string & | get_comment () const |
FunctionIndex | get_constructor (int n) const |
TypeIndex | get_derivation (int n) const |
FunctionIndex | get_destructor () const |
ElementIndex | get_element (int n) const |
int | get_enum_value (int n) const |
const string & | get_enum_value_name (int n) const |
const string & | get_enum_value_scoped_name (int n) const |
MakeSeqIndex | get_make_seq (int n) const |
FunctionIndex | get_method (int n) const |
TypeIndex | get_nested_type (int n) const |
TypeIndex | get_outer_class () const |
If is_nested() returns true, this is the class within which this type is defined. | |
const string & | get_scoped_name () const |
const string & | get_true_name () const |
TypeIndex | get_wrapped_type () const |
bool | has_comment () const |
bool | has_destructor () const |
bool | has_scoped_name () const |
bool | has_true_name () const |
void | input (istream &in) |
Reads the data file as previously formatted by output(). | |
bool | is_atomic () const |
bool | is_class () const |
bool | is_const () const |
bool | is_enum () const |
bool | is_fully_defined () const |
bool | is_global () const |
Returns true if the type is marked as 'global'. | |
bool | is_long () const |
bool | is_longlong () const |
bool | is_nested () const |
Returns true if this type is nested within some class definition. | |
bool | is_pointer () const |
bool | is_short () const |
bool | is_signed () const |
bool | is_struct () const |
bool | is_union () const |
bool | is_unpublished () const |
Returns true if the type is an unpublished type. | |
bool | is_unsigned () const |
bool | is_wrapped () const |
void | merge_with (const InterrogateType &other) |
Combines type with the other similar definition. | |
int | number_of_casts () const |
int | number_of_constructors () const |
int | number_of_derivations () const |
int | number_of_elements () const |
int | number_of_enum_values () const |
int | number_of_make_seqs () const |
int | number_of_methods () const |
int | number_of_nested_types () const |
void | operator= (const InterrogateType ©) |
void | output (ostream &out) const |
Formats the InterrogateType data for output to a data file. | |
void | remap_indices (const IndexRemapper &remap) |
Remaps all internal index numbers according to the indicated map. | |
Public Attributes | |
AtomicToken | _atomic_token |
Functions | _casts |
string | _comment |
Functions | _constructors |
CPPScope * | _cppscope |
CPPType * | _cpptype |
FunctionIndex | _destructor |
Elements | _elements |
int | _flags |
MakeSeqs | _make_seqs |
Functions | _methods |
TypeIndex | _outer_class |
string | _scoped_name |
string | _true_name |
TypeIndex | _wrapped_type |
Friends | |
class | InterrogateBuilder |
An internal representation of a type.
Definition at line 32 of file interrogateType.h.
TypeIndex InterrogateType::get_outer_class | ( | ) | const [inline] |
If is_nested() returns true, this is the class within which this type is defined.
Definition at line 106 of file interrogateType.I.
void InterrogateType::input | ( | istream & | in | ) |
Reads the data file as previously formatted by output().
Reimplemented from InterrogateComponent.
Definition at line 182 of file interrogateType.cxx.
bool InterrogateType::is_global | ( | ) | const [inline] |
Returns true if the type is marked as 'global'.
This means only that it should appear in the global type list.
Definition at line 24 of file interrogateType.I.
Referenced by InterrogateDatabase::add_type().
bool InterrogateType::is_nested | ( | ) | const [inline] |
Returns true if this type is nested within some class definition.
Definition at line 95 of file interrogateType.I.
bool InterrogateType::is_unpublished | ( | ) | const [inline] |
Returns true if the type is an unpublished type.
This either means the type is a nested type, and it is protected or private within its scope, or that its definition is simply not marked as 'published'.
Definition at line 328 of file interrogateType.I.
void InterrogateType::merge_with | ( | const InterrogateType & | other | ) |
Combines type with the other similar definition.
If one type is "fully defined" and the other one isn't, the fully-defined type wins.
Definition at line 131 of file interrogateType.cxx.
Referenced by InterrogateDatabase::add_type().
void InterrogateType::output | ( | ostream & | out | ) | const |
Formats the InterrogateType data for output to a data file.
Reimplemented from InterrogateComponent.
Definition at line 154 of file interrogateType.cxx.
void InterrogateType::remap_indices | ( | const IndexRemapper & | remap | ) |
Remaps all internal index numbers according to the indicated map.
This called from InterrogateDatabase::remap_indices().
Definition at line 216 of file interrogateType.cxx.
References IndexRemapper::map_from().