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

CPPIdentifier Class Reference

#include <cppIdentifier.h>

List of all members.

Public Types

typedef vector< CPPNameComponentNames

Public Member Functions

 CPPIdentifier (const string &name, const CPPFile &file=CPPFile())
 CPPIdentifier (const CPPNameComponent &name)
void add_name (const string &name)
void add_name (const CPPNameComponent &name)
bool operator== (const CPPIdentifier &other) const
bool operator!= (const CPPIdentifier &other) const
bool operator< (const CPPIdentifier &other) const
bool is_scoped () const
string get_simple_name () const
string get_local_name (CPPScope *scope=NULL) const
string get_fully_scoped_name () const
bool is_fully_specified () const
bool is_tbd () const
CPPScopeget_scope (CPPScope *current_scope, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) const
CPPScopeget_scope (CPPScope *current_scope, CPPScope *global_scope, CPPDeclaration::SubstDecl &subst, CPPPreprocessor *error_sink=NULL) const
CPPTypefind_type (CPPScope *current_scope, CPPScope *global_scope, bool force_instantiate=false, CPPPreprocessor *error_sink=NULL) const
CPPTypefind_type (CPPScope *current_scope, CPPScope *global_scope, CPPDeclaration::SubstDecl &subst, CPPPreprocessor *error_sink=NULL) const
CPPDeclarationfind_symbol (CPPScope *current_scope, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) const
CPPDeclarationfind_template (CPPScope *current_scope, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) const
CPPScopefind_scope (CPPScope *current_scope, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) const
CPPIdentifier * substitute_decl (CPPDeclaration::SubstDecl &subst, CPPScope *current_scope, CPPScope *global_scope)
void output (ostream &out, CPPScope *scope) const
void output_local_name (ostream &out, CPPScope *scope) const
void output_fully_scoped_name (ostream &out) const

Public Attributes

Names _names
CPPScope_native_scope
CPPFile _file


Member Typedef Documentation

typedef vector<CPPNameComponent> CPPIdentifier::Names
 

Definition at line 91 of file cppIdentifier.h.


Constructor & Destructor Documentation

CPPIdentifier::CPPIdentifier const string &  name,
const CPPFile file = CPPFile()
 

Definition at line 35 of file cppIdentifier.cxx.

References _names, _native_scope, and NULL.

Referenced by substitute_decl().

CPPIdentifier::CPPIdentifier const CPPNameComponent name  ) 
 

Definition at line 46 of file cppIdentifier.cxx.

References _names, _native_scope, and NULL.


Member Function Documentation

void CPPIdentifier::add_name const CPPNameComponent name  ) 
 

Definition at line 67 of file cppIdentifier.cxx.

References _names.

void CPPIdentifier::add_name const string &  name  ) 
 

Definition at line 57 of file cppIdentifier.cxx.

References _names.

CPPScope * CPPIdentifier::find_scope CPPScope current_scope,
CPPScope global_scope,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 474 of file cppIdentifier.cxx.

References current_scope, CPPScope::find_scope(), get_scope(), get_simple_name(), global_scope, and NULL.

Referenced by CPPScope::add_using().

CPPDeclaration * CPPIdentifier::find_symbol CPPScope current_scope,
CPPScope global_scope,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 425 of file cppIdentifier.cxx.

References _names, CPPDeclaration::as_type(), current_scope, CPPScope::find_symbol(), CPPScope::find_template(), get_scope(), get_simple_name(), global_scope, CPPDeclaration::instantiate(), CPPType::new_type(), NULL, and type.

Referenced by CPPScope::add_using(), CPPExpression::CPPExpression(), and find_type().

CPPDeclaration * CPPIdentifier::find_template CPPScope current_scope,
CPPScope global_scope,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 459 of file cppIdentifier.cxx.

References current_scope, CPPScope::find_template(), get_scope(), get_simple_name(), global_scope, and NULL.

CPPType * CPPIdentifier::find_type CPPScope current_scope,
CPPScope global_scope,
CPPDeclaration::SubstDecl subst,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 382 of file cppIdentifier.cxx.

References _names, CPPDeclaration::as_type(), assert, current_scope, CPPScope::find_type(), get_scope(), get_simple_name(), global_scope, is_fully_specified(), CPPType::new_type(), NULL, and type.

CPPType * CPPIdentifier::find_type CPPScope current_scope,
CPPScope global_scope,
bool  force_instantiate = false,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 336 of file cppIdentifier.cxx.

References _names, CPPDeclaration::as_type(), current_scope, find_symbol(), CPPScope::find_type(), get_scope(), get_simple_name(), global_scope, NULL, and type.

Referenced by CPPTBDType::resolve_type().

string CPPIdentifier::get_fully_scoped_name  )  const
 

Definition at line 181 of file cppIdentifier.cxx.

References _names, and assert.

Referenced by CPPScope::add_using(), CPPTBDType::get_fully_scoped_name(), CPPNamespace::get_fully_scoped_name(), CPPInstance::get_fully_scoped_name(), CPPExtensionType::get_fully_scoped_name(), get_local_name(), and CPPPointerType::output_instance().

string CPPIdentifier::get_local_name CPPScope scope = NULL  )  const
 

Definition at line 146 of file cppIdentifier.cxx.

References _names, _native_scope, assert, get_fully_scoped_name(), CPPScope::get_local_name(), get_scope(), and NULL.

Referenced by CPPTemplateScope::add_template_parameter(), CPPTBDType::get_local_name(), CPPNamespace::get_local_name(), CPPInstance::get_local_name(), CPPExtensionType::get_local_name(), CPPScope::instantiate(), CPPInstance::instantiate(), CPPStructType::output(), CPPNamespace::output(), CPPInstance::output(), CPPExtensionType::output(), and CPPEnumType::output().

CPPScope * CPPIdentifier::get_scope CPPScope current_scope,
CPPScope global_scope,
CPPDeclaration::SubstDecl subst,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 282 of file cppIdentifier.cxx.

References _names, _native_scope, assert, current_scope, CPPPreprocessor::error(), CPPScope::find_scope(), CPPScope::get_fully_scoped_name(), global_scope, CPPScope::instantiate(), and NULL.

CPPScope * CPPIdentifier::get_scope CPPScope current_scope,
CPPScope global_scope,
CPPPreprocessor error_sink = NULL
const
 

Definition at line 238 of file cppIdentifier.cxx.

References _names, _native_scope, assert, current_scope, CPPPreprocessor::error(), CPPScope::find_scope(), CPPScope::get_fully_scoped_name(), global_scope, CPPScope::instantiate(), and NULL.

Referenced by InterrogateBuilder::define_enum_type(), find_scope(), find_symbol(), find_template(), find_type(), get_local_name(), CPPInstanceIdentifier::get_scope(), CPPInstance::get_scope(), InterrogateBuilder::get_type(), and output_local_name().

string CPPIdentifier::get_simple_name  )  const
 

Definition at line 136 of file cppIdentifier.cxx.

References _names.

Referenced by find_scope(), find_symbol(), find_template(), find_type(), CPPTBDType::get_simple_name(), CPPNamespace::get_simple_name(), CPPInstance::get_simple_name(), and CPPExtensionType::get_simple_name().

bool CPPIdentifier::is_fully_specified  )  const
 

Definition at line 202 of file cppIdentifier.cxx.

References _names.

Referenced by find_type(), and CPPInstance::is_fully_specified().

bool CPPIdentifier::is_scoped  )  const
 

Definition at line 125 of file cppIdentifier.cxx.

References _names.

Referenced by CPPInstance::is_scoped().

bool CPPIdentifier::is_tbd  )  const
 

Definition at line 221 of file cppIdentifier.cxx.

References _names.

Referenced by CPPExtensionType::is_tbd().

bool CPPIdentifier::operator!= const CPPIdentifier &  other  )  const
 

Definition at line 96 of file cppIdentifier.cxx.

bool CPPIdentifier::operator< const CPPIdentifier &  other  )  const
 

Definition at line 106 of file cppIdentifier.cxx.

References _names.

bool CPPIdentifier::operator== const CPPIdentifier &  other  )  const
 

Definition at line 77 of file cppIdentifier.cxx.

References _names.

void CPPIdentifier::output ostream out,
CPPScope scope
const
 

Definition at line 519 of file cppIdentifier.cxx.

References NULL, output_fully_scoped_name(), and output_local_name().

Referenced by operator<<(), and CPPClassTemplateParameter::output().

void CPPIdentifier::output_fully_scoped_name ostream out  )  const
 

Definition at line 560 of file cppIdentifier.cxx.

References _names, _native_scope, NULL, and CPPScope::output().

Referenced by output(), and output_local_name().

void CPPIdentifier::output_local_name ostream out,
CPPScope scope
const
 

Definition at line 534 of file cppIdentifier.cxx.

References _names, _native_scope, assert, CPPScope::get_local_name(), get_scope(), NULL, and output_fully_scoped_name().

Referenced by output().

CPPIdentifier * CPPIdentifier::substitute_decl CPPDeclaration::SubstDecl subst,
CPPScope current_scope,
CPPScope global_scope
 

Definition at line 490 of file cppIdentifier.cxx.

References _names, CPPIdentifier(), current_scope, and global_scope.

Referenced by CPPInstance::instantiate(), CPPTBDType::substitute_decl(), CPPStructType::substitute_decl(), CPPExtensionType::substitute_decl(), and CPPEnumType::substitute_decl().


Member Data Documentation

CPPFile CPPIdentifier::_file
 

Definition at line 94 of file cppIdentifier.h.

Names CPPIdentifier::_names
 

Definition at line 92 of file cppIdentifier.h.

Referenced by add_name(), CPPIdentifier(), find_symbol(), find_type(), get_fully_scoped_name(), get_local_name(), get_scope(), get_simple_name(), CPPInstance::instantiate(), is_fully_specified(), is_scoped(), is_tbd(), operator<(), operator==(), output_fully_scoped_name(), output_local_name(), CPPStructType::substitute_decl(), and substitute_decl().

CPPScope* CPPIdentifier::_native_scope
 

Definition at line 93 of file cppIdentifier.h.

Referenced by CPPScope::copy_substitute_decl(), CPPExtensionType::CPPExtensionType(), CPPIdentifier(), InterrogateBuilder::define_enum_type(), InterrogateBuilder::get_function(), InterrogateBuilder::get_getter(), get_local_name(), get_scope(), InterrogateBuilder::get_setter(), output_fully_scoped_name(), output_local_name(), InterrogateBuilder::scan_element(), and InterrogateBuilder::update_method_comment().


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