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 |
const char * | get_library_name () const |
Returns the library name, if it is known, or NULL if it is not. | |
MakeSeqIndex | get_make_seq (int n) const |
FunctionIndex | get_method (int n) const |
const char * | get_module_name () const |
Returns the module name, if it is known, or NULL if it is not. | |
const string & | get_name () 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_library_name () const |
Returns true if we have a known library name, false if we do not. | |
bool | has_module_name () const |
Returns true if we have a known module name, false if we do not. | |
bool | has_name () 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.
const char * InterrogateComponent::get_library_name | ( | ) | const [inline, inherited] |
Returns the library name, if it is known, or NULL if it is not.
This is the name of the library that this particular component was built into. Typically this will be a one-to-one correspondance with an invocation of the interrogate command. Typical examples are "libutil" and "liblinmath".
Definition at line 73 of file interrogateComponent.I.
Referenced by InterrogateComponent::has_library_name().
const char * InterrogateComponent::get_module_name | ( | ) | const [inline, inherited] |
Returns the module name, if it is known, or NULL if it is not.
This is the name of the module that this particular component is associated with. This is a higher grouping than library. Typical examples are "panda" and "pandaegg".
Definition at line 102 of file interrogateComponent.I.
Referenced by InterrogateComponent::has_module_name().
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.
bool InterrogateComponent::has_library_name | ( | ) | const [inline, inherited] |
Returns true if we have a known library name, false if we do not.
See get_library_name().
Definition at line 57 of file interrogateComponent.I.
References InterrogateComponent::get_library_name().
bool InterrogateComponent::has_module_name | ( | ) | const [inline, inherited] |
Returns true if we have a known module name, false if we do not.
See get_module_name().
Definition at line 87 of file interrogateComponent.I.
References InterrogateComponent::get_module_name().
void InterrogateType::input | ( | istream & | in | ) |
Reads the data file as previously formatted by output().
Reimplemented from InterrogateComponent.
Definition at line 186 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 135 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 158 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 220 of file interrogateType.cxx.
References IndexRemapper::map_from().