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

InterrogateBuilder Class Reference

#include <interrogateBuilder.h>

List of all members.

Public Member Functions

void add_source_file (const string &filename)
void read_command_file (istream &in)
void do_command (const string &command, const string &params)
void build ()
void write_code (ostream &out, InterrogateModuleDef *def)
InterrogateModuleDefmake_module_def (int file_identifier)
FunctionIndex get_destructor_for (CPPType *type)
string get_preferred_name (CPPType *type)

Static Public Member Functions

string clean_identifier (const string &name)
string descope (const string &name)
string hash_string (const string &name, int shift_offset)

Private Types

typedef set< string > Commands
typedef map< string, string > CommandParams
typedef map< string, TypeIndexTypesByName
typedef map< string, FunctionIndexFunctionsByName
typedef map< string, char > IncludeFiles

Private Member Functions

void insert_param_list (InterrogateBuilder::Commands &commands, const string &params)
bool in_forcetype (const string &name) const
string in_renametype (const string &name) const
bool in_ignoretype (const string &name) const
bool in_ignoreinvolved (const string &name) const
bool in_ignoreinvolved (CPPType *type) const
bool in_ignorefile (const string &name) const
bool in_ignoremember (const string &name) const
bool in_noinclude (const string &name) const
bool should_include (const string &filename) const
void remap_indices (vector< FunctionRemap * > &remaps)
void scan_function (CPPFunctionGroup *fgroup)
void scan_function (CPPInstance *function)
void scan_struct_type (CPPStructType *type)
void scan_enum_type (CPPEnumType *type)
void scan_manifest (CPPManifest *manifest)
ElementIndex scan_element (CPPInstance *element, CPPStructType *struct_type, CPPScope *scope)
FunctionIndex get_getter (CPPType *expr_type, string expression, CPPStructType *struct_type, CPPScope *scope, CPPInstance *element)
FunctionIndex get_setter (CPPType *expr_type, string expression, CPPStructType *struct_type, CPPScope *scope, CPPInstance *element)
FunctionIndex get_cast_function (CPPType *to_type, CPPType *from_type, const string &prefix)
FunctionIndex get_function (CPPInstance *function, string description, CPPStructType *struct_type, CPPScope *scope, int flags, const string &expression=string())
TypeIndex get_atomic_string_type ()
TypeIndex get_type (CPPType *type, bool global)
void define_atomic_type (InterrogateType &itype, CPPSimpleType *cpptype)
void define_wrapped_type (InterrogateType &itype, CPPPointerType *cpptype)
void define_wrapped_type (InterrogateType &itype, CPPConstType *cpptype)
void define_struct_type (InterrogateType &itype, CPPStructType *cpptype, TypeIndex type_index, bool forced)
void update_method_comment (CPPInstance *function, CPPStructType *struct_type, CPPScope *scope)
void define_method (CPPFunctionGroup *fgroup, InterrogateType &itype, CPPStructType *struct_type, CPPScope *scope)
void define_method (CPPInstance *function, InterrogateType &itype, CPPStructType *struct_type, CPPScope *scope)
void define_enum_type (InterrogateType &itype, CPPEnumType *cpptype)
void define_extension_type (InterrogateType &itype, CPPExtensionType *cpptype)

Static Private Member Functions

string trim_blanks (const string &str)

Private Attributes

TypesByName _types_by_name
FunctionsByName _functions_by_name
IncludeFiles _include_files
Commands _forcetype
CommandParams _renametype
Commands _ignoretype
Commands _ignoreinvolved
Commands _ignorefile
Commands _ignoremember
Commands _noinclude
string _library_hash_name

Friends

class FunctionRemap


Member Typedef Documentation

typedef map<string, string> InterrogateBuilder::CommandParams [private]
 

Definition at line 74 of file interrogateBuilder.h.

typedef set<string> InterrogateBuilder::Commands [private]
 

Definition at line 73 of file interrogateBuilder.h.

typedef map<string, FunctionIndex> InterrogateBuilder::FunctionsByName [private]
 

Definition at line 131 of file interrogateBuilder.h.

typedef map<string, char> InterrogateBuilder::IncludeFiles [private]
 

Definition at line 136 of file interrogateBuilder.h.

typedef map<string, TypeIndex> InterrogateBuilder::TypesByName [private]
 

Definition at line 130 of file interrogateBuilder.h.


Member Function Documentation

void InterrogateBuilder::add_source_file const string &  filename  ) 
 

Definition at line 79 of file interrogateBuilder.cxx.

References _include_files.

Referenced by main().

void InterrogateBuilder::build  ) 
 

Definition at line 207 of file interrogateBuilder.cxx.

References CPPPreprocessor::_angle_includes, CPPScope::_declarations, _forcetype, _include_files, _library_hash_name, CPPPreprocessor::_manifests, CPPPreprocessor::_quote_includes, CPPInstance::_type, CPPDeclaration::as_struct_type(), assert, CPPDeclaration::get_subtype(), get_type(), hash_string(), library_name, NULL, CPPParser::parse_type(), parser, CPPType::resolve_type(), scan_element(), scan_enum_type(), scan_function(), scan_manifest(), scan_struct_type(), CPPDeclaration::ST_enum, CPPDeclaration::ST_function, CPPDeclaration::ST_instance, CPPDeclaration::ST_struct, CPPDeclaration::ST_type_declaration, CPPDeclaration::ST_typedef, and type.

Referenced by main().

string InterrogateBuilder::clean_identifier const string &  name  )  [static]
 

Definition at line 535 of file interrogateBuilder.cxx.

Referenced by FunctionWriterPtrFromPython::FunctionWriterPtrFromPython(), FunctionWriterPtrToPython::FunctionWriterPtrToPython(), InterfaceMakerPythonObj::get_builder_name(), get_cast_function(), get_getter(), get_setter(), InterfaceMaker::get_wrapper_name(), FunctionRemap::make_wrapper_entry(), and InterfaceMakerPythonObj::write_class_wrapper().

void InterrogateBuilder::define_atomic_type InterrogateType itype,
CPPSimpleType cpptype
[private]
 

Definition at line 1777 of file interrogateBuilder.cxx.

References InterrogateType::_atomic_token, CPPSimpleType::_flags, InterrogateType::_flags, CPPSimpleType::_type, AT_bool, AT_char, AT_double, AT_float, AT_int, AT_not_atomic, AT_void, InterrogateType::F_atomic, InterrogateType::F_long, CPPSimpleType::F_long, InterrogateType::F_longlong, CPPSimpleType::F_longlong, InterrogateType::F_short, CPPSimpleType::F_short, InterrogateType::F_signed, CPPSimpleType::F_signed, InterrogateType::F_unsigned, CPPSimpleType::F_unsigned, nout, CPPSimpleType::T_bool, CPPSimpleType::T_char, CPPSimpleType::T_double, CPPSimpleType::T_float, CPPSimpleType::T_int, and CPPSimpleType::T_void.

Referenced by get_type().

void InterrogateBuilder::define_enum_type InterrogateType itype,
CPPEnumType cpptype
[private]
 

Definition at line 2247 of file interrogateBuilder.cxx.

References CPPEnumType::_elements, InterrogateType::_enum_values, InterrogateType::_flags, CPPInstance::_ident, CPPExtensionType::_ident, CPPInstance::_initializer, InterrogateType::EnumValue::_name, CPPIdentifier::_native_scope, InterrogateType::EnumValue::_scoped_name, InterrogateType::EnumValue::_value, CPPExpression::Result::as_integer(), descope(), CPPExpression::evaluate(), InterrogateType::F_enum, InterrogateType::F_unpublished, CPPInstance::get_local_name(), CPPIdentifier::get_scope(), CPPInstance::get_simple_name(), TypeManager::involves_unpublished(), NULL, and parser.

Referenced by get_type().

void InterrogateBuilder::define_extension_type InterrogateType itype,
CPPExtensionType cpptype
[private]
 

Definition at line 2302 of file interrogateBuilder.cxx.

References InterrogateType::_flags, CPPExtensionType::_type, InterrogateType::F_class, InterrogateType::F_enum, InterrogateType::F_struct, InterrogateType::F_union, CPPExtensionType::T_class, CPPExtensionType::T_enum, CPPExtensionType::T_struct, and CPPExtensionType::T_union.

Referenced by get_type().

void InterrogateBuilder::define_method CPPInstance function,
InterrogateType itype,
CPPStructType struct_type,
CPPScope scope
[private]
 

Definition at line 2133 of file interrogateBuilder.cxx.

References InterrogateType::_casts, InterrogateType::_constructors, CPPStructType::_derivation, InterrogateType::_destructor, InterrogateType::_flags, CPPFunctionType::_flags, InterrogateType::_methods, CPPInstance::_storage_class, CPPInstance::_type, CPPDeclaration::_vis, CPPDeclaration::as_function_type(), assert, CPPFunctionType::F_constructor, CPPFunctionType::F_destructor, InterrogateType::F_inherited_destructor, CPPFunctionType::F_operator_typecast, InterrogateType::F_private_destructor, InterrogateType::F_true_destructor, FunctionIndex, get_function(), CPPInstance::get_simple_name(), in_ignoreinvolved(), in_ignoremember(), index, TypeManager::involves_protected(), CPPDeclaration::is_template(), min_vis, NULL, parser, CPPType::resolve_type(), CPPInstance::SC_inherited_virtual, CPPInstance::SC_static, and V_public.

void InterrogateBuilder::define_method CPPFunctionGroup fgroup,
InterrogateType itype,
CPPStructType struct_type,
CPPScope scope
[private]
 

Definition at line 2118 of file interrogateBuilder.cxx.

References CPPFunctionGroup::_instances.

Referenced by define_struct_type().

void InterrogateBuilder::define_struct_type InterrogateType itype,
CPPStructType cpptype,
TypeIndex  type_index,
bool  forced
[private]
 

Definition at line 1856 of file interrogateBuilder.cxx.

References CPPStructType::Base::_base, CPPScope::_declarations, CPPStructType::_derivation, InterrogateType::_derivations, InterrogateType::_destructor, InterrogateType::_elements, CPPDeclaration::_file, CPPFile::_filename_as_referenced, CPPFunctionType::_flags, InterrogateType::_flags, CPPExtensionType::_ident, CPPStructType::Base::_is_virtual, InterrogateType::_nested_types, CPPStructType::_scope, CPPFile::_source, CPPInstance::_type, CPPExtensionType::_type, CPPStructType::Base::_vis, CPPDeclaration::as_struct_type(), assert, CPPStructType::check_virtual(), define_method(), InterrogateType::DF_downcast, InterrogateType::DF_downcast_impossible, InterrogateType::DF_upcast, ElementIndex, InterrogateType::F_class, CPPFunctionType::F_destructor, InterrogateType::F_global, InterrogateType::F_implicit_destructor, InterrogateType::F_inherited_destructor, InterrogateType::F_private_destructor, InterrogateType::F_struct, InterrogateType::F_true_destructor, InterrogateType::F_union, InterrogateType::F_unpublished, get_cast_function(), get_function(), InterrogateDatabase::get_ptr(), CPPStructType::get_scope(), CPPExtensionType::get_simple_name(), CPPDeclaration::get_subtype(), get_type(), TypeManager::get_void_type(), in_ignorefile(), TypeManager::involves_protected(), TypeManager::involves_unpublished(), CPPFile::is_c_file(), left_inheritance_requires_upcast, min_vis, nout, NULL, params, TypeManager::resolve_type(), CPPFile::S_local, scan_element(), CPPDeclaration::ST_function, CPPDeclaration::ST_instance, CPPDeclaration::ST_type_declaration, CPPExtensionType::T_class, CPPExtensionType::T_struct, CPPExtensionType::T_union, type, TypeIndex, and V_public.

Referenced by get_type().

void InterrogateBuilder::define_wrapped_type InterrogateType itype,
CPPConstType cpptype
[private]
 

Definition at line 1845 of file interrogateBuilder.cxx.

References InterrogateType::_flags, CPPConstType::_wrapped_around, InterrogateType::_wrapped_type, InterrogateType::F_const, InterrogateType::F_wrapped, and get_type().

void InterrogateBuilder::define_wrapped_type InterrogateType itype,
CPPPointerType cpptype
[private]
 

Definition at line 1834 of file interrogateBuilder.cxx.

References InterrogateType::_flags, CPPPointerType::_pointing_at, InterrogateType::_wrapped_type, InterrogateType::F_pointer, InterrogateType::F_wrapped, and get_type().

Referenced by get_type().

string InterrogateBuilder::descope const string &  name  )  [static]
 

Definition at line 564 of file interrogateBuilder.cxx.

Referenced by define_enum_type(), get_function(), get_type(), and scan_element().

void InterrogateBuilder::do_command const string &  command,
const string &  params
 

Definition at line 142 of file interrogateBuilder.cxx.

References _forcetype, _ignorefile, _ignoreinvolved, _ignoremember, _ignoretype, _noinclude, _renametype, insert_param_list(), nout, NULL, params, CPPParser::parse_type(), parser, size_t, and type.

Referenced by read_command_file().

TypeIndex InterrogateBuilder::get_atomic_string_type  )  [private]
 

Definition at line 1612 of file interrogateBuilder.cxx.

References InterrogateType::_atomic_token, InterrogateType::_flags, InterrogateType::_scoped_name, InterrogateType::_true_name, _types_by_name, InterrogateDatabase::add_type(), AT_string, InterrogateType::F_atomic, InterrogateDatabase::get_next_index(), InterrogateDatabase::get_ptr(), index, and TypeIndex.

Referenced by FunctionRemap::make_wrapper_entry().

FunctionIndex InterrogateBuilder::get_cast_function CPPType to_type,
CPPType from_type,
const string &  prefix
[private]
 

Definition at line 1449 of file interrogateBuilder.cxx.

References InterrogateFunction::_comment, CPPDeclaration::as_struct_type(), clean_identifier(), InterrogateFunction::F_typecast, FunctionIndex, get_function(), get_preferred_name(), InterrogateDatabase::get_ptr(), CPPStructType::get_scope(), index, CPPType::new_type(), NULL, params, parser, ostringstream::str(), and InterrogateDatabase::update_function().

Referenced by define_struct_type().

FunctionIndex InterrogateBuilder::get_destructor_for CPPType type  ) 
 

Definition at line 579 of file interrogateBuilder.cxx.

References InterrogateType::get_destructor(), InterrogateDatabase::get_ptr(), InterrogateDatabase::get_type(), get_type(), type, and TypeIndex.

Referenced by ParameterRemapConcreteToPointer::get_return_value_destructor(), and FunctionRemap::setup_properties().

FunctionIndex InterrogateBuilder::get_function CPPInstance function,
string  description,
CPPStructType struct_type,
CPPScope scope,
int  flags,
const string &  expression = string()
[private]
 

Definition at line 1515 of file interrogateBuilder.cxx.

References InterrogateFunction::_class, InterrogateFunction::_comment, CPPCommentBlock::_comment, InterrogateFunction::_expression, InterrogateFunction::_flags, CPPFunctionType::_flags, _functions_by_name, CPPInstance::_ident, InterrogateFunction::_instances, CPPDeclaration::_leading_comment, CPPIdentifier::_native_scope, InterrogateFunction::_prototype, InterrogateFunction::_scoped_name, CPPInstance::_type, InterrogateDatabase::add_function(), CPPDeclaration::as_function_type(), descope(), CPPFunctionType::F_constructor, InterrogateFunction::F_method, FunctionIndex, TypeManager::get_function_name(), TypeManager::get_function_signature(), CPPInstance::get_local_name(), InterrogateDatabase::get_next_index(), InterrogateDatabase::get_ptr(), get_type(), index, CPPStructType::is_abstract(), NULL, CPPInstance::output(), parser, CPPType::resolve_type(), ostringstream::str(), trim_blanks(), and InterrogateDatabase::update_function().

Referenced by define_method(), define_struct_type(), get_cast_function(), get_getter(), get_setter(), and scan_function().

FunctionIndex InterrogateBuilder::get_getter CPPType expr_type,
string  expression,
CPPStructType struct_type,
CPPScope scope,
CPPInstance element
[private]
 

Definition at line 1289 of file interrogateBuilder.cxx.

References InterrogateFunction::_comment, CPPFunctionType::_flags, _functions_by_name, CPPInstance::_ident, CPPInstance::_initializer, CPPIdentifier::_native_scope, CPPInstance::_storage_class, CPPConstType::_wrapped_around, CPPDeclaration::as_const_type(), assert, clean_identifier(), CPPFunctionType::F_const_method, InterrogateFunction::F_getter, InterrogateFunction::F_method, FunctionIndex, get_function(), TypeManager::get_function_name(), CPPInstance::get_local_name(), InterrogateDatabase::get_ptr(), index, NULL, CPPInstance::output(), params, parser, CPPInstance::SC_static, ostringstream::str(), and InterrogateDatabase::update_function().

Referenced by scan_element(), and scan_manifest().

string InterrogateBuilder::get_preferred_name CPPType type  ) 
 

Definition at line 599 of file interrogateBuilder.cxx.

References in_renametype(), parser, and type.

Referenced by get_cast_function(), and get_type().

FunctionIndex InterrogateBuilder::get_setter CPPType expr_type,
string  expression,
CPPStructType struct_type,
CPPScope scope,
CPPInstance element
[private]
 

Definition at line 1372 of file interrogateBuilder.cxx.

References InterrogateFunction::_comment, _functions_by_name, CPPInstance::_ident, CPPInstance::_initializer, CPPIdentifier::_native_scope, CPPInstance::_storage_class, assert, clean_identifier(), InterrogateFunction::F_method, InterrogateFunction::F_setter, FunctionIndex, get_function(), TypeManager::get_function_name(), CPPInstance::get_local_name(), InterrogateDatabase::get_ptr(), TypeManager::get_void_type(), index, NULL, CPPInstance::output(), params, parser, CPPInstance::SC_static, ostringstream::str(), and InterrogateDatabase::update_function().

Referenced by scan_element().

TypeIndex InterrogateBuilder::get_type CPPType type,
bool  global
[private]
 

Definition at line 1648 of file interrogateBuilder.cxx.

References CPPCommentBlock::_comment, InterrogateType::_comment, InterrogateType::_cppscope, InterrogateType::_cpptype, InterrogateType::_flags, CPPExtensionType::_ident, CPPDeclaration::_leading_comment, InterrogateType::_outer_class, InterrogateType::_scoped_name, InterrogateType::_true_name, _types_by_name, InterrogateDatabase::add_type(), CPPScope::as_template_scope(), assert, define_atomic_type(), define_enum_type(), define_extension_type(), define_struct_type(), define_wrapped_type(), descope(), InterrogateType::F_fully_defined, InterrogateType::F_global, InterrogateType::F_nested, CPPScope::get_local_name(), InterrogateDatabase::get_next_index(), CPPScope::get_parent_scope(), get_preferred_name(), InterrogateDatabase::get_ptr(), CPPIdentifier::get_scope(), CPPScope::get_struct_type(), in_forcetype(), in_ignoretype(), index, NULL, parser, InterrogateDatabase::remove_type(), trim_blanks(), type, TypeIndex, and InterrogateDatabase::update_type().

Referenced by build(), define_struct_type(), define_wrapped_type(), get_destructor_for(), get_function(), FunctionRemap::make_wrapper_entry(), scan_element(), scan_enum_type(), scan_manifest(), and scan_struct_type().

string InterrogateBuilder::hash_string const string &  name,
int  shift_offset
[static]
 

Definition at line 616 of file interrogateBuilder.cxx.

References c.

Referenced by build(), and InterfaceMaker::hash_function_signature().

bool InterrogateBuilder::in_forcetype const string &  name  )  const [private]
 

Definition at line 705 of file interrogateBuilder.cxx.

References _forcetype.

Referenced by get_type().

bool InterrogateBuilder::in_ignorefile const string &  name  )  const [private]
 

Definition at line 810 of file interrogateBuilder.cxx.

References _ignorefile.

Referenced by define_struct_type(), scan_element(), scan_enum_type(), scan_function(), scan_manifest(), and scan_struct_type().

bool InterrogateBuilder::in_ignoreinvolved CPPType type  )  const [private]
 

Definition at line 755 of file interrogateBuilder.cxx.

References CPPArrayType::_element_type, CPPParameterList::_parameters, CPPFunctionType::_parameters, CPPPointerType::_pointing_at, CPPFunctionType::_return_type, CPPConstType::_wrapped_around, in_ignoreinvolved(), params, ref, CPPDeclaration::ST_array, CPPDeclaration::ST_const, CPPDeclaration::ST_function, CPPDeclaration::ST_pointer, CPPDeclaration::ST_reference, and type.

bool InterrogateBuilder::in_ignoreinvolved const string &  name  )  const [private]
 

Definition at line 744 of file interrogateBuilder.cxx.

References _ignoreinvolved.

Referenced by define_method(), in_ignoreinvolved(), and scan_function().

bool InterrogateBuilder::in_ignoremember const string &  name  )  const [private]
 

Definition at line 821 of file interrogateBuilder.cxx.

References _ignoremember.

Referenced by define_method().

bool InterrogateBuilder::in_ignoretype const string &  name  )  const [private]
 

Definition at line 733 of file interrogateBuilder.cxx.

References _ignoretype.

Referenced by get_type().

bool InterrogateBuilder::in_noinclude const string &  name  )  const [private]
 

Definition at line 832 of file interrogateBuilder.cxx.

References _noinclude.

Referenced by should_include().

string InterrogateBuilder::in_renametype const string &  name  )  const [private]
 

Definition at line 717 of file interrogateBuilder.cxx.

References _renametype.

Referenced by get_preferred_name().

void InterrogateBuilder::insert_param_list InterrogateBuilder::Commands commands,
const string &  params
[private]
 

Definition at line 680 of file interrogateBuilder.cxx.

References p, params, q, and size_t.

Referenced by do_command().

InterrogateModuleDef * InterrogateBuilder::make_module_def int  file_identifier  ) 
 

Definition at line 509 of file interrogateBuilder.cxx.

References _library_hash_name, InterrogateModuleDef::database_filename, Filename::empty(), InterrogateModuleDef::file_identifier, InterrogateModuleDef::library_hash_name, library_name, InterrogateModuleDef::library_name, module_name, InterrogateModuleDef::module_name, output_data_basename, and output_data_filename.

Referenced by main().

void InterrogateBuilder::read_command_file istream in  ) 
 

Definition at line 94 of file interrogateBuilder.cxx.

References do_command(), p, params, q, and size_t.

Referenced by main().

void InterrogateBuilder::remap_indices vector< FunctionRemap * > &  remaps  )  [private]
 

Definition at line 894 of file interrogateBuilder.cxx.

References _functions_by_name, _types_by_name, FunctionRemap::_wrapper_index, InterrogateDatabase::get_ptr(), IndexRemapper::map_from(), and InterrogateDatabase::remap_indices().

Referenced by write_code().

ElementIndex InterrogateBuilder::scan_element CPPInstance element,
CPPStructType struct_type,
CPPScope scope
[private]
 

Definition at line 1179 of file interrogateBuilder.cxx.

References CPPDeclaration::_file, CPPFile::_filename_as_referenced, InterrogateElement::_flags, InterrogateElement::_getter, CPPInstance::_ident, CPPIdentifier::_native_scope, InterrogateElement::_scoped_name, InterrogateElement::_setter, CPPFile::_source, CPPInstance::_storage_class, InterrogateElement::_type, CPPInstance::_type, CPPDeclaration::_vis, InterrogateDatabase::add_element(), CPPDeclaration::as_struct_type(), descope(), ElementIndex, InterrogateElement::F_global, InterrogateElement::F_has_getter, InterrogateElement::F_has_setter, FunctionIndex, get_getter(), CPPInstance::get_local_name(), InterrogateDatabase::get_next_index(), InterrogateDatabase::get_ptr(), CPPInstance::get_scope(), get_setter(), get_type(), in_ignorefile(), index, TypeManager::involves_protected(), TypeManager::is_assignable(), CPPFile::is_c_file(), CPPInstance::is_scoped(), CPPDeclaration::is_template(), min_vis, NULL, parser, TypeManager::resolve_type(), CPPFile::S_local, CPPInstance::SC_static, TypeManager::unwrap_reference(), and TypeManager::wrap_const_reference().

Referenced by build(), and define_struct_type().

void InterrogateBuilder::scan_enum_type CPPEnumType type  )  [private]
 

Definition at line 1071 of file interrogateBuilder.cxx.

References get_type(), in_ignorefile(), min_vis, NULL, CPPFile::S_local, and type.

Referenced by build().

void InterrogateBuilder::scan_function CPPInstance function  )  [private]
 

Definition at line 939 of file interrogateBuilder.cxx.

References CPPDeclaration::_file, CPPFile::_filename_as_referenced, CPPInstance::_ident, CPPFile::_source, CPPInstance::_storage_class, CPPInstance::_type, CPPDeclaration::_vis, CPPDeclaration::as_function_type(), assert, InterrogateFunction::F_global, get_function(), CPPInstance::get_scope(), CPPScope::get_struct_type(), in_ignorefile(), in_ignoreinvolved(), TypeManager::involves_protected(), CPPFile::is_c_file(), CPPInstance::is_scoped(), CPPDeclaration::is_template(), min_vis, nout, NULL, parser, CPPType::resolve_type(), CPPFile::S_local, CPPInstance::SC_static, and update_method_comment().

void InterrogateBuilder::scan_function CPPFunctionGroup fgroup  )  [private]
 

Definition at line 924 of file interrogateBuilder.cxx.

References CPPFunctionGroup::_instances.

Referenced by build().

void InterrogateBuilder::scan_manifest CPPManifest manifest  )  [private]
 

Definition at line 1109 of file interrogateBuilder.cxx.

References InterrogateManifest::_definition, CPPManifest::_expr, CPPManifest::_file, CPPFile::_filename_as_referenced, InterrogateManifest::_flags, InterrogateManifest::_getter, CPPManifest::_has_parameters, InterrogateManifest::_int_value, CPPManifest::_name, CPPFile::_source, CPPExpression::Result::_type, InterrogateManifest::_type, CPPManifest::_vis, InterrogateDatabase::add_manifest(), CPPExpression::Result::as_integer(), CPPManifest::determine_type(), CPPExpression::evaluate(), CPPManifest::expand(), InterrogateManifest::F_has_getter, InterrogateManifest::F_has_int_value, InterrogateManifest::F_has_type, FunctionIndex, get_getter(), InterrogateDatabase::get_next_index(), InterrogateDatabase::get_ptr(), get_type(), in_ignorefile(), index, CPPFile::is_c_file(), ManifestIndex, min_vis, NULL, parser, CPPExpression::RT_integer, CPPFile::S_local, and type.

Referenced by build().

void InterrogateBuilder::scan_struct_type CPPStructType type  )  [private]
 

Definition at line 1018 of file interrogateBuilder.cxx.

References CPPScope::_declarations, get_type(), in_ignorefile(), min_vis, NULL, CPPFile::S_local, and type.

Referenced by build().

bool InterrogateBuilder::should_include const string &  filename  )  const [private]
 

Definition at line 844 of file interrogateBuilder.cxx.

References in_noinclude(), and CPPFile::is_c_or_i_file().

Referenced by write_code().

string InterrogateBuilder::trim_blanks const string &  str  )  [static, private]
 

Definition at line 2334 of file interrogateBuilder.cxx.

References end, size_t, and start.

Referenced by get_function(), get_type(), and update_method_comment().

void InterrogateBuilder::update_method_comment CPPInstance function,
CPPStructType struct_type,
CPPScope scope
[private]
 

Definition at line 2068 of file interrogateBuilder.cxx.

References InterrogateFunction::_comment, CPPCommentBlock::_comment, _functions_by_name, CPPInstance::_ident, CPPDeclaration::_leading_comment, CPPIdentifier::_native_scope, CPPInstance::_type, CPPDeclaration::as_function_type(), FunctionIndex, TypeManager::get_function_name(), InterrogateDatabase::get_ptr(), index, NULL, parser, CPPType::resolve_type(), trim_blanks(), and InterrogateDatabase::update_function().

Referenced by scan_function().

void InterrogateBuilder::write_code ostream out,
InterrogateModuleDef def
 

Definition at line 297 of file interrogateBuilder.cxx.

References _include_files, FunctionRemap::_unique_name, FunctionRemap::_wrapper_index, FunctionRemap::_wrapper_name, assert, InterrogateModuleDef::database_filename, InterrogateModuleDef::file_identifier, InterrogateDatabase::get_next_index(), InterrogateDatabase::get_ptr(), InterrogateModuleDef::library_hash_name, InterrogateModuleDef::library_name, library_name, InterrogateModuleDef::module_name, no_database, NULL, remap_indices(), should_include(), and ostringstream::str().

Referenced by main().


Friends And Related Function Documentation

friend class FunctionRemap [friend]
 

Definition at line 149 of file interrogateBuilder.h.


Member Data Documentation

Commands InterrogateBuilder::_forcetype [private]
 

Definition at line 139 of file interrogateBuilder.h.

Referenced by build(), do_command(), and in_forcetype().

FunctionsByName InterrogateBuilder::_functions_by_name [private]
 

Definition at line 134 of file interrogateBuilder.h.

Referenced by get_function(), get_getter(), get_setter(), remap_indices(), and update_method_comment().

Commands InterrogateBuilder::_ignorefile [private]
 

Definition at line 143 of file interrogateBuilder.h.

Referenced by do_command(), and in_ignorefile().

Commands InterrogateBuilder::_ignoreinvolved [private]
 

Definition at line 142 of file interrogateBuilder.h.

Referenced by do_command(), and in_ignoreinvolved().

Commands InterrogateBuilder::_ignoremember [private]
 

Definition at line 144 of file interrogateBuilder.h.

Referenced by do_command(), and in_ignoremember().

Commands InterrogateBuilder::_ignoretype [private]
 

Definition at line 141 of file interrogateBuilder.h.

Referenced by do_command(), and in_ignoretype().

IncludeFiles InterrogateBuilder::_include_files [private]
 

Definition at line 137 of file interrogateBuilder.h.

Referenced by add_source_file(), build(), and write_code().

string InterrogateBuilder::_library_hash_name [private]
 

Definition at line 147 of file interrogateBuilder.h.

Referenced by build(), and make_module_def().

Commands InterrogateBuilder::_noinclude [private]
 

Definition at line 145 of file interrogateBuilder.h.

Referenced by do_command(), and in_noinclude().

CommandParams InterrogateBuilder::_renametype [private]
 

Definition at line 140 of file interrogateBuilder.h.

Referenced by do_command(), and in_renametype().

TypesByName InterrogateBuilder::_types_by_name [private]
 

Definition at line 133 of file interrogateBuilder.h.

Referenced by get_atomic_string_type(), get_type(), and remap_indices().


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