Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

TypeManager Class Reference

#include <typeManager.h>

List of all members.

Static Public Member Functions

CPPTyperesolve_type (CPPType *type, CPPScope *scope=(CPPScope *) NULL)
bool is_assignable (CPPType *type)
bool is_reference (CPPType *type)
bool is_ref_to_anything (CPPType *type)
bool is_const_ref_to_anything (CPPType *type)
bool is_pointer (CPPType *type)
bool is_const (CPPType *type)
bool is_struct (CPPType *type)
bool is_enum (CPPType *type)
bool is_const_enum (CPPType *type)
bool is_const_ref_to_enum (CPPType *type)
bool is_simple (CPPType *type)
bool is_const_simple (CPPType *type)
bool is_const_ref_to_simple (CPPType *type)
bool is_pointable (CPPType *type)
bool is_char (CPPType *type)
bool is_char_pointer (CPPType *type)
bool is_basic_string_char (CPPType *type)
bool is_const_basic_string_char (CPPType *type)
bool is_const_ref_to_basic_string_char (CPPType *type)
bool is_bool (CPPType *type)
bool is_integer (CPPType *type)
bool is_float (CPPType *type)
bool is_void (CPPType *type)
bool is_reference_count (CPPType *type)
bool is_reference_count_pointer (CPPType *type)
bool is_pointer_to_base (CPPType *type)
bool is_const_pointer_to_base (CPPType *type)
bool is_const_ref_to_pointer_to_base (CPPType *type)
bool involves_unpublished (CPPType *type)
bool involves_protected (CPPType *type)
CPPTypeunwrap_pointer (CPPType *type)
CPPTypeunwrap_reference (CPPType *type)
CPPTypeunwrap_const (CPPType *type)
CPPTypeunwrap_const_reference (CPPType *type)
CPPTypeunwrap (CPPType *type)
CPPTypeget_pointer_type (CPPStructType *pt_type)
CPPTypewrap_pointer (CPPType *type)
CPPTypewrap_const_pointer (CPPType *type)
CPPTypewrap_const_reference (CPPType *type)
CPPTypeget_basic_string_char_type ()
CPPTypeget_reference_count_type ()
CPPTypeget_void_type ()
CPPTypeget_int_type ()
string get_function_signature (CPPInstance *function, int num_default_parameters=0)
string get_function_name (CPPInstance *function)
bool has_protected_destructor (CPPType *type)


Member Function Documentation

CPPType * TypeManager::get_basic_string_char_type  )  [static]
 

Definition at line 1030 of file typeManager.cxx.

References NULL, CPPParser::parse_type(), parser, and type.

Referenced by is_basic_string_char().

string TypeManager::get_function_name CPPInstance function  )  [static]
 

Definition at line 1169 of file typeManager.cxx.

References CPPInstance::get_local_name(), and parser.

Referenced by InterrogateBuilder::get_function(), InterrogateBuilder::get_getter(), InterrogateBuilder::get_setter(), and InterrogateBuilder::update_method_comment().

string TypeManager::get_function_signature CPPInstance function,
int  num_default_parameters = 0
[static]
 

Definition at line 1104 of file typeManager.cxx.

References CPPFunctionType::_flags, CPPParameterList::_parameters, CPPFunctionType::_parameters, CPPInstance::_type, CPPDeclaration::as_function_type(), assert, CPPFunctionType::F_const_method, CPPType::get_local_name(), CPPInstance::get_local_name(), is_const_ref_to_anything(), n, NULL, params, parser, ostringstream::str(), and unwrap_const_reference().

Referenced by InterrogateBuilder::get_function(), and FunctionRemap::setup_properties().

CPPType * TypeManager::get_int_type  )  [static]
 

Definition at line 1079 of file typeManager.cxx.

References CPPType::new_type(), NULL, CPPSimpleType::T_int, and type.

CPPType * TypeManager::get_pointer_type CPPStructType pt_type  )  [static]
 

Definition at line 949 of file typeManager.cxx.

References CPPScope::_functions, CPPFunctionGroup::_instances, CPPParameterList::_parameters, CPPFunctionType::_parameters, CPPFunctionType::_return_type, CPPStructType::_scope, CPPInstance::_type, CPPDeclaration::as_function_type(), assert, NULL, and resolve_type().

Referenced by ParameterRemapPTToPointer::ParameterRemapPTToPointer().

CPPType * TypeManager::get_reference_count_type  )  [static]
 

Definition at line 1047 of file typeManager.cxx.

References NULL, CPPParser::parse_type(), parser, and type.

Referenced by is_reference_count().

CPPType * TypeManager::get_void_type  )  [static]
 

Definition at line 1063 of file typeManager.cxx.

References CPPType::new_type(), NULL, CPPSimpleType::T_void, and type.

Referenced by InterrogateBuilder::define_struct_type(), InterrogateBuilder::get_setter(), and FunctionRemap::setup_properties().

bool TypeManager::has_protected_destructor CPPType type  )  [static]
 

Definition at line 1181 of file typeManager.cxx.

References CPPScope::_declarations, CPPFunctionType::_flags, CPPInstance::_type, CPPDeclaration::_vis, CPPDeclaration::as_function_type(), assert, CPPFunctionType::F_destructor, CPPStructType::get_scope(), CPPDeclaration::get_subtype(), NULL, CPPDeclaration::ST_function, CPPDeclaration::ST_instance, type, and V_public.

Referenced by FunctionRemap::setup_properties().

bool TypeManager::involves_protected CPPType type  )  [static]
 

Definition at line 806 of file typeManager.cxx.

References CPPParameterList::_parameters, CPPFunctionType::_parameters, CPPFunctionType::_return_type, NULL, params, CPPDeclaration::ST_const, CPPDeclaration::ST_function, CPPDeclaration::ST_pointer, CPPDeclaration::ST_reference, type, and V_public.

Referenced by InterrogateBuilder::define_method(), InterrogateBuilder::define_struct_type(), InterrogateBuilder::scan_element(), and InterrogateBuilder::scan_function().

bool TypeManager::involves_unpublished CPPType type  )  [static]
 

Definition at line 728 of file typeManager.cxx.

References CPPScope::_declarations, min_vis, NULL, CPPDeclaration::ST_const, CPPDeclaration::ST_function, CPPDeclaration::ST_pointer, CPPDeclaration::ST_reference, CPPDeclaration::ST_struct, and type.

Referenced by InterrogateBuilder::define_enum_type(), and InterrogateBuilder::define_struct_type().

bool TypeManager::is_assignable CPPType type  )  [static]
 

Definition at line 73 of file typeManager.cxx.

References is_basic_string_char(), CPPDeclaration::ST_const, CPPDeclaration::ST_extension, CPPDeclaration::ST_reference, CPPDeclaration::ST_struct, and type.

Referenced by InterrogateBuilder::scan_element().

bool TypeManager::is_basic_string_char CPPType type  )  [static]
 

Definition at line 420 of file typeManager.cxx.

References get_basic_string_char_type(), CPPType::get_local_name(), NULL, parser, CPPDeclaration::ST_const, and type.

Referenced by is_assignable(), is_const_basic_string_char(), and InterfaceMaker::remap_parameter().

bool TypeManager::is_bool CPPType type  )  [static]
 

Definition at line 479 of file typeManager.cxx.

References CPPSimpleType::_type, NULL, CPPDeclaration::ST_const, CPPDeclaration::ST_simple, CPPSimpleType::T_bool, and type.

Referenced by InterfaceMakerPythonSimple::write_function_instance(), and InterfaceMakerPythonObj::write_function_instance().

bool TypeManager::is_char CPPType type  )  [static]
 

Definition at line 371 of file typeManager.cxx.

References CPPSimpleType::_flags, CPPSimpleType::_type, NULL, CPPDeclaration::ST_const, CPPDeclaration::ST_simple, CPPSimpleType::T_char, and type.

Referenced by is_char_pointer(), and is_pointable().

bool TypeManager::is_char_pointer CPPType type  )  [static]
 

Definition at line 400 of file typeManager.cxx.

References is_char(), CPPDeclaration::ST_const, CPPDeclaration::ST_pointer, and type.

Referenced by InterfaceMakerPythonSimple::pack_return_value(), InterfaceMakerPythonObj::pack_return_value(), InterfaceMaker::remap_parameter(), InterfaceMakerPythonSimple::write_function_instance(), and InterfaceMakerPythonObj::write_function_instance().

bool TypeManager::is_const CPPType type  )  [static]
 

Definition at line 193 of file typeManager.cxx.

References CPPDeclaration::ST_const, and type.

Referenced by is_const_ref_to_anything().

bool TypeManager::is_const_basic_string_char CPPType type  )  [static]
 

Definition at line 445 of file typeManager.cxx.

References is_basic_string_char(), CPPDeclaration::ST_const, and type.

Referenced by is_const_ref_to_basic_string_char().

bool TypeManager::is_const_enum CPPType type  )  [static]
 

Definition at line 251 of file typeManager.cxx.

References is_enum(), CPPDeclaration::ST_const, and type.

Referenced by is_const_ref_to_enum().

bool TypeManager::is_const_pointer_to_base CPPType type  )  [static]
 

Definition at line 687 of file typeManager.cxx.

References is_pointer_to_base(), CPPDeclaration::ST_const, and type.

Referenced by is_const_ref_to_pointer_to_base().

bool TypeManager::is_const_ref_to_anything CPPType type  )  [static]
 

Definition at line 153 of file typeManager.cxx.

References is_const(), CPPDeclaration::ST_const, CPPDeclaration::ST_reference, and type.

Referenced by get_function_signature().

bool TypeManager::is_const_ref_to_basic_string_char CPPType type  )  [static]
 

Definition at line 462 of file typeManager.cxx.

References is_const_basic_string_char(), CPPDeclaration::ST_reference, and type.

Referenced by InterfaceMaker::remap_parameter().

bool TypeManager::is_const_ref_to_enum CPPType type  )  [static]
 

Definition at line 268 of file typeManager.cxx.

References is_const_enum(), CPPDeclaration::ST_reference, and type.

bool TypeManager::is_const_ref_to_pointer_to_base CPPType type  )  [static]
 

Definition at line 704 of file typeManager.cxx.

References is_const_pointer_to_base(), is_reference(), CPPDeclaration::ST_const, CPPDeclaration::ST_reference, and type.

Referenced by InterfaceMaker::remap_parameter().

bool TypeManager::is_const_ref_to_simple CPPType type  )  [static]
 

Definition at line 326 of file typeManager.cxx.

References is_const_simple(), CPPDeclaration::ST_reference, and type.

Referenced by InterfaceMaker::remap_parameter().

bool TypeManager::is_const_simple CPPType type  )  [static]
 

Definition at line 308 of file typeManager.cxx.

References is_simple(), CPPDeclaration::ST_const, and type.

Referenced by is_const_ref_to_simple(), and InterfaceMaker::remap_parameter().

bool TypeManager::is_enum CPPType type  )  [static]
 

Definition at line 231 of file typeManager.cxx.

References CPPDeclaration::ST_const, CPPDeclaration::ST_enum, and type.

Referenced by is_const_enum().

bool TypeManager::is_float CPPType type  )  [static]
 

Definition at line 542 of file typeManager.cxx.

References CPPSimpleType::_type, NULL, CPPDeclaration::ST_const, CPPDeclaration::ST_simple, CPPSimpleType::T_double, CPPSimpleType::T_float, and type.

Referenced by InterfaceMakerPythonSimple::pack_return_value(), InterfaceMakerPythonObj::pack_return_value(), InterfaceMakerPythonSimple::write_function_instance(), and InterfaceMakerPythonObj::write_function_instance().

bool TypeManager::is_integer CPPType type  )  [static]
 

Definition at line 508 of file typeManager.cxx.

References CPPSimpleType::_type, NULL, CPPDeclaration::ST_const, CPPDeclaration::ST_enum, CPPDeclaration::ST_simple, CPPSimpleType::T_bool, CPPSimpleType::T_char, CPPSimpleType::T_int, and type.

Referenced by InterfaceMakerPythonSimple::pack_return_value(), InterfaceMakerPythonObj::pack_return_value(), InterfaceMakerPythonSimple::write_function_instance(), and InterfaceMakerPythonObj::write_function_instance().

bool TypeManager::is_pointable CPPType type  )  [static]
 

Definition at line 345 of file typeManager.cxx.

References is_char(), CPPDeclaration::ST_const, CPPDeclaration::ST_extension, CPPDeclaration::ST_simple, CPPDeclaration::ST_struct, CPPExtensionType::T_enum, and type.

Referenced by is_pointer(), and is_reference().

bool TypeManager::is_pointer CPPType type  )  [static]
 

Definition at line 173 of file typeManager.cxx.

References is_pointable(), CPPDeclaration::ST_const, CPPDeclaration::ST_pointer, and type.

Referenced by InterfaceMakerPythonSimple::pack_return_value(), InterfaceMakerPythonObj::pack_return_value(), InterfaceMaker::remap_parameter(), InterfaceMakerPythonSimple::write_function_instance(), and InterfaceMakerPythonObj::write_function_instance().

bool TypeManager::is_pointer_to_base CPPType type  )  [static]
 

Definition at line 645 of file typeManager.cxx.

References CPPStructType::_derivation, CPPDeclaration::ST_const, CPPDeclaration::ST_struct, and type.

Referenced by is_const_pointer_to_base(), and InterfaceMaker::remap_parameter().

bool TypeManager::is_ref_to_anything CPPType type  )  [static]
 

Definition at line 133 of file typeManager.cxx.

References CPPDeclaration::ST_const, CPPDeclaration::ST_reference, and type.

bool TypeManager::is_reference CPPType type  )  [static]
 

Definition at line 112 of file typeManager.cxx.

References is_pointable(), CPPDeclaration::ST_const, CPPDeclaration::ST_reference, and type.

Referenced by is_const_ref_to_pointer_to_base(), and InterfaceMaker::remap_parameter().

bool TypeManager::is_reference_count CPPType type  )  [static]
 

Definition at line 589 of file typeManager.cxx.

References CPPStructType::_derivation, CPPType::get_local_name(), get_reference_count_type(), NULL, parser, CPPDeclaration::ST_const, CPPDeclaration::ST_struct, and type.

Referenced by FunctionRemap::call_function(), and is_reference_count_pointer().

bool TypeManager::is_reference_count_pointer CPPType type  )  [static]
 

Definition at line 625 of file typeManager.cxx.

References is_reference_count(), CPPDeclaration::ST_const, CPPDeclaration::ST_pointer, and type.

Referenced by FunctionRemap::setup_properties().

bool TypeManager::is_simple CPPType type  )  [static]
 

Definition at line 287 of file typeManager.cxx.

References CPPDeclaration::ST_const, CPPDeclaration::ST_enum, CPPDeclaration::ST_simple, and type.

Referenced by is_const_simple(), and InterfaceMaker::remap_parameter().

bool TypeManager::is_struct CPPType type  )  [static]
 

Definition at line 210 of file typeManager.cxx.

References CPPDeclaration::ST_const, CPPDeclaration::ST_extension, CPPDeclaration::ST_struct, and type.

Referenced by InterfaceMaker::remap_parameter().

bool TypeManager::is_void CPPType type  )  [static]
 

Definition at line 571 of file typeManager.cxx.

References CPPSimpleType::_flags, CPPSimpleType::_type, NULL, CPPSimpleType::T_void, and type.

Referenced by FunctionRemap::setup_properties().

CPPType * TypeManager::resolve_type CPPType type,
CPPScope scope = (CPPScope *) NULL
[static]
 

Definition at line 43 of file typeManager.cxx.

References nout, NULL, CPPParser::parse_type(), parser, CPPType::resolve_type(), and type.

Referenced by InterrogateBuilder::define_struct_type(), get_pointer_type(), and InterrogateBuilder::scan_element().

CPPType * TypeManager::unwrap CPPType type  )  [static]
 

Definition at line 924 of file typeManager.cxx.

References CPPPointerType::_pointing_at, CPPReferenceType::_pointing_at, CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), CPPDeclaration::as_pointer_type(), CPPDeclaration::as_reference_type(), CPPDeclaration::get_subtype(), CPPDeclaration::ST_const, CPPDeclaration::ST_pointer, and CPPDeclaration::ST_reference.

Referenced by ParameterRemapPTToPointer::ParameterRemapPTToPointer().

CPPType * TypeManager::unwrap_const CPPType type  )  [static]
 

Definition at line 887 of file typeManager.cxx.

References CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), CPPDeclaration::get_subtype(), and CPPDeclaration::ST_const.

Referenced by FunctionWriterPtrFromPython::FunctionWriterPtrFromPython(), FunctionWriterPtrToPython::FunctionWriterPtrToPython(), ParameterRemapConstToNonConst::ParameterRemapConstToNonConst(), and unwrap_const_reference().

CPPType * TypeManager::unwrap_const_reference CPPType type  )  [static]
 

Definition at line 904 of file typeManager.cxx.

References CPPReferenceType::_pointing_at, CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), CPPDeclaration::as_reference_type(), CPPDeclaration::get_subtype(), CPPDeclaration::ST_const, CPPDeclaration::ST_reference, and unwrap_const().

Referenced by get_function_signature(), and ParameterRemapReferenceToConcrete::ParameterRemapReferenceToConcrete().

CPPType * TypeManager::unwrap_pointer CPPType type  )  [static]
 

Definition at line 848 of file typeManager.cxx.

References CPPPointerType::_pointing_at, CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), CPPDeclaration::as_pointer_type(), CPPDeclaration::get_subtype(), CPPDeclaration::ST_const, and CPPDeclaration::ST_pointer.

Referenced by FunctionWriterPtrFromPython::FunctionWriterPtrFromPython(), FunctionWriterPtrToPython::FunctionWriterPtrToPython(), and FunctionRemap::setup_properties().

CPPType * TypeManager::unwrap_reference CPPType type  )  [static]
 

Definition at line 867 of file typeManager.cxx.

References CPPReferenceType::_pointing_at, CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), CPPDeclaration::as_reference_type(), CPPDeclaration::get_subtype(), CPPDeclaration::ST_const, and CPPDeclaration::ST_reference.

Referenced by ParameterRemapReferenceToPointer::ParameterRemapReferenceToPointer(), InterfaceMaker::remap_parameter(), and InterrogateBuilder::scan_element().

CPPType * TypeManager::wrap_const_pointer CPPType type  )  [static]
 

Definition at line 994 of file typeManager.cxx.

References CPPDeclaration::as_const_type(), CPPType::new_type(), and NULL.

Referenced by ParameterRemapThis::ParameterRemapThis().

CPPType * TypeManager::wrap_const_reference CPPType type  )  [static]
 

Definition at line 1012 of file typeManager.cxx.

References CPPDeclaration::as_const_type(), CPPType::new_type(), and NULL.

Referenced by InterrogateBuilder::scan_element().

CPPType * TypeManager::wrap_pointer CPPType type  )  [static]
 

Definition at line 983 of file typeManager.cxx.

References CPPType::new_type().

Referenced by ParameterRemapConcreteToPointer::ParameterRemapConcreteToPointer(), ParameterRemapReferenceToPointer::ParameterRemapReferenceToPointer(), and ParameterRemapThis::ParameterRemapThis().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 01:35:06 2003 for DTool by doxygen1.3