Panda3D
Classes | Public Types | Public Member Functions | Public Attributes | Friends
InterrogateType Class Reference

An internal representation of a type. More...

#include "interrogateType.h"

Inheritance diagram for InterrogateType:
InterrogateComponent

List of all members.

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 &copy)
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 &copy)
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

Detailed Description

An internal representation of a type.

Definition at line 32 of file interrogateType.h.


Member Function Documentation

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.

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.

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().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations