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

CPPExtensionType Class Reference

#include <cppExtensionType.h>

Inheritance diagram for CPPExtensionType:

CPPType CPPDeclaration CPPEnumType CPPStructType List of all members.

Public Types

enum  Type { T_enum, T_class, T_struct, T_union }

Public Member Functions

 CPPExtensionType (Type type, CPPIdentifier *ident, CPPScope *current_scope, const CPPFile &file)
virtual string get_simple_name () const
virtual string get_local_name (CPPScope *scope=NULL) const
virtual string get_fully_scoped_name () const
virtual bool is_incomplete () const
virtual bool is_tbd () const
virtual CPPDeclarationsubstitute_decl (SubstDecl &subst, CPPScope *current_scope, CPPScope *global_scope)
virtual bool is_equivalent (const CPPType &other) const
virtual void output (ostream &out, int indent_level, CPPScope *scope, bool complete) const
virtual SubType get_subtype () const
virtual CPPExtensionType * as_extension_type ()

Public Attributes

Type _type
CPPIdentifier_ident

Member Enumeration Documentation

enum CPPExtensionType::Type
 

Enumeration values:
T_enum 
T_class 
T_struct 
T_union 

Definition at line 36 of file cppExtensionType.h.


Constructor & Destructor Documentation

CPPExtensionType::CPPExtensionType Type  type,
CPPIdentifier ident,
CPPScope current_scope,
const CPPFile file
 

Definition at line 32 of file cppExtensionType.cxx.

References _ident, CPPIdentifier::_native_scope, current_scope, NULL, and type.

Referenced by substitute_decl().


Member Function Documentation

CPPExtensionType * CPPExtensionType::as_extension_type  )  [virtual]
 

Reimplemented from CPPDeclaration.

Definition at line 199 of file cppExtensionType.cxx.

string CPPExtensionType::get_fully_scoped_name  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 75 of file cppExtensionType.cxx.

References _ident, CPPIdentifier::get_fully_scoped_name(), and NULL.

Referenced by CPPStructType::instantiate().

string CPPExtensionType::get_local_name CPPScope scope = NULL  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 62 of file cppExtensionType.cxx.

References _ident, CPPIdentifier::get_local_name(), and NULL.

Referenced by CPPStructType::instantiate(), and ParameterRemapPTToPointer::ParameterRemapPTToPointer().

string CPPExtensionType::get_simple_name  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 49 of file cppExtensionType.cxx.

References _ident, CPPIdentifier::get_simple_name(), and NULL.

Referenced by InterrogateBuilder::define_struct_type(), and CPPStructType::substitute_decl().

CPPDeclaration::SubType CPPExtensionType::get_subtype  )  const [virtual]
 

Implements CPPDeclaration.

Reimplemented in CPPEnumType, and CPPStructType.

Definition at line 189 of file cppExtensionType.cxx.

References CPPDeclaration::ST_extension.

bool CPPExtensionType::is_equivalent const CPPType other  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 148 of file cppExtensionType.cxx.

References _ident, CPPType::is_equivalent(), and NULL.

bool CPPExtensionType::is_incomplete  )  const [virtual]
 

Reimplemented from CPPType.

Reimplemented in CPPEnumType, and CPPStructType.

Definition at line 89 of file cppExtensionType.cxx.

bool CPPExtensionType::is_tbd  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 102 of file cppExtensionType.cxx.

References _ident, CPPIdentifier::is_tbd(), and NULL.

void CPPExtensionType::output ostream out,
int  indent_level,
CPPScope scope,
bool  complete
const [virtual]
 

Implements CPPDeclaration.

Reimplemented in CPPEnumType, and CPPStructType.

Definition at line 166 of file cppExtensionType.cxx.

References _ident, _type, CPPType::_typedefs, CPPIdentifier::get_local_name(), and NULL.

CPPDeclaration * CPPExtensionType::substitute_decl SubstDecl subst,
CPPScope current_scope,
CPPScope global_scope
[virtual]
 

Reimplemented in CPPEnumType, and CPPStructType.

Definition at line 115 of file cppExtensionType.cxx.

References _ident, CPPDeclaration::as_extension_type(), CPPExtensionType(), current_scope, global_scope, CPPType::new_type(), NULL, and CPPIdentifier::substitute_decl().


Member Data Documentation

CPPIdentifier* CPPExtensionType::_ident
 

Definition at line 68 of file cppExtensionType.h.

Referenced by CPPScope::copy_substitute_decl(), CPPExtensionType(), InterrogateBuilder::define_enum_type(), InterrogateBuilder::define_struct_type(), get_fully_scoped_name(), get_local_name(), get_simple_name(), InterrogateBuilder::get_type(), is_equivalent(), is_tbd(), CPPStructType::output(), output(), CPPEnumType::output(), CPPStructType::substitute_decl(), substitute_decl(), and CPPEnumType::substitute_decl().

Type CPPExtensionType::_type
 

Definition at line 67 of file cppExtensionType.h.

Referenced by CPPScope::copy_substitute_decl(), InterrogateBuilder::define_extension_type(), InterrogateBuilder::define_struct_type(), CPPStructType::output(), output(), and CPPEnumType::output().


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