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

CPPFunctionType Class Reference

#include <cppFunctionType.h>

Inheritance diagram for CPPFunctionType:

CPPType CPPDeclaration List of all members.

Public Types

enum  Flags {
  F_const_method = 0x01, F_operator_typecast = 0x02, F_constructor = 0x04, F_destructor = 0x08,
  F_method_pointer = 0x10
}

Public Member Functions

 CPPFunctionType (CPPType *return_type, CPPParameterList *parameters, int flags)
 CPPFunctionType (const CPPFunctionType &copy)
void operator= (const CPPFunctionType &copy)
virtual bool is_fully_specified () const
virtual CPPDeclarationsubstitute_decl (SubstDecl &subst, CPPScope *current_scope, CPPScope *global_scope)
virtual CPPTyperesolve_type (CPPScope *current_scope, CPPScope *global_scope)
virtual bool is_tbd () const
virtual void output (ostream &out, int indent_level, CPPScope *scope, bool complete) const
void output (ostream &out, int indent_level, CPPScope *scope, bool complete, int num_default_parameters) const
virtual void output_instance (ostream &out, int indent_level, CPPScope *scope, bool complete, const string &prename, const string &name) const
void output_instance (ostream &out, int indent_level, CPPScope *scope, bool complete, const string &prename, const string &name, int num_default_parameters) const
int get_num_default_parameters () const
virtual SubType get_subtype () const
virtual CPPFunctionType * as_function_type ()
bool is_equivalent_function (const CPPFunctionType &other) const

Public Attributes

CPPType_return_type
CPPParameterList_parameters
int _flags
CPPIdentifier_class_owner

Protected Member Functions

virtual bool is_equal (const CPPDeclaration *other) const
virtual bool is_less (const CPPDeclaration *other) const

Member Enumeration Documentation

enum CPPFunctionType::Flags
 

Enumeration values:
F_const_method 
F_operator_typecast 
F_constructor 
F_destructor 
F_method_pointer 

Definition at line 35 of file cppFunctionType.h.


Constructor & Destructor Documentation

CPPFunctionType::CPPFunctionType CPPType return_type,
CPPParameterList parameters,
int  flags
 

Definition at line 31 of file cppFunctionType.cxx.

References _class_owner, CPPParameterList::_parameters, _parameters, NULL, and CPPSimpleType::T_void.

Referenced by resolve_type(), and substitute_decl().

CPPFunctionType::CPPFunctionType const CPPFunctionType &  copy  ) 
 

Definition at line 57 of file cppFunctionType.cxx.


Member Function Documentation

CPPFunctionType * CPPFunctionType::as_function_type  )  [virtual]
 

Reimplemented from CPPDeclaration.

Definition at line 292 of file cppFunctionType.cxx.

int CPPFunctionType::get_num_default_parameters  )  const
 

Definition at line 259 of file cppFunctionType.cxx.

References CPPParameterList::_parameters, _parameters, count, NULL, and params.

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

Implements CPPDeclaration.

Definition at line 282 of file cppFunctionType.cxx.

References CPPDeclaration::ST_function.

bool CPPFunctionType::is_equal const CPPDeclaration other  )  const [protected, virtual]
 

Reimplemented from CPPDeclaration.

Definition at line 328 of file cppFunctionType.cxx.

References _flags, _parameters, _return_type, assert, and NULL.

bool CPPFunctionType::is_equivalent_function const CPPFunctionType &  other  )  const
 

Definition at line 305 of file cppFunctionType.cxx.

References _flags, _parameters, _return_type, CPPParameterList::is_equivalent(), and CPPType::is_equivalent().

Referenced by CPPStructType::get_virtual_funcs().

bool CPPFunctionType::is_fully_specified  )  const [virtual]
 

Reimplemented from CPPDeclaration.

Definition at line 89 of file cppFunctionType.cxx.

References _parameters, _return_type, CPPParameterList::is_fully_specified(), and CPPDeclaration::is_fully_specified().

bool CPPFunctionType::is_less const CPPDeclaration other  )  const [protected, virtual]
 

Reimplemented from CPPDeclaration.

Definition at line 353 of file cppFunctionType.cxx.

References _flags, _parameters, _return_type, assert, and NULL.

bool CPPFunctionType::is_tbd  )  const [virtual]
 

Reimplemented from CPPType.

Definition at line 159 of file cppFunctionType.cxx.

References _parameters, _return_type, CPPParameterList::is_tbd(), and CPPType::is_tbd().

void CPPFunctionType::operator= const CPPFunctionType &  copy  ) 
 

Definition at line 72 of file cppFunctionType.cxx.

References _class_owner, _flags, _parameters, and _return_type.

void CPPFunctionType::output ostream out,
int  indent_level,
CPPScope scope,
bool  complete,
int  num_default_parameters
const
 

Definition at line 187 of file cppFunctionType.cxx.

References _flags, _parameters, _return_type, F_const_method, CPPParameterList::output(), and CPPDeclaration::output().

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

Implements CPPDeclaration.

Definition at line 172 of file cppFunctionType.cxx.

void CPPFunctionType::output_instance ostream out,
int  indent_level,
CPPScope scope,
bool  complete,
const string &  prename,
const string &  name,
int  num_default_parameters
const
 

Definition at line 224 of file cppFunctionType.cxx.

References _flags, _parameters, _return_type, F_const_method, F_constructor, F_destructor, CPPParameterList::output(), CPPType::output_instance(), and ostringstream::str().

void CPPFunctionType::output_instance ostream out,
int  indent_level,
CPPScope scope,
bool  complete,
const string &  prename,
const string &  name
const [virtual]
 

Reimplemented from CPPType.

Definition at line 207 of file cppFunctionType.cxx.

CPPType * CPPFunctionType::resolve_type CPPScope current_scope,
CPPScope global_scope
[virtual]
 

Reimplemented from CPPType.

Definition at line 136 of file cppFunctionType.cxx.

References _parameters, _return_type, CPPFunctionType(), current_scope, global_scope, CPPType::new_type(), params, CPPParameterList::resolve_type(), and CPPType::resolve_type().

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

Definition at line 101 of file cppFunctionType.cxx.

References _parameters, _return_type, CPPDeclaration::as_function_type(), CPPDeclaration::as_type(), CPPFunctionType(), current_scope, global_scope, CPPType::new_type(), CPPParameterList::substitute_decl(), and CPPDeclaration::substitute_decl().


Member Data Documentation

CPPIdentifier* CPPFunctionType::_class_owner
 

Definition at line 83 of file cppFunctionType.h.

Referenced by CPPFunctionType(), operator=(), CPPPointerType::output_instance(), and CPPInstanceIdentifier::r_unroll_type().

int CPPFunctionType::_flags
 

Definition at line 50 of file cppFunctionType.h.

Referenced by CPPInstance::check_for_constructor(), InterrogateBuilder::define_method(), InterrogateBuilder::define_struct_type(), CPPStructType::get_destructor(), InterrogateBuilder::get_function(), TypeManager::get_function_signature(), InterrogateBuilder::get_getter(), CPPStructType::get_virtual_funcs(), TypeManager::has_protected_destructor(), is_equal(), is_equivalent_function(), is_less(), operator=(), output(), CPPPointerType::output_instance(), output_instance(), CPPInstanceIdentifier::r_unroll_type(), and FunctionRemap::setup_properties().

CPPParameterList* CPPFunctionType::_parameters
 

Definition at line 49 of file cppFunctionType.h.

Referenced by CPPInstance::check_for_constructor(), CPPFunctionType(), TypeManager::get_function_signature(), get_num_default_parameters(), TypeManager::get_pointer_type(), InterrogateBuilder::in_ignoreinvolved(), TypeManager::involves_protected(), is_equal(), is_equivalent_function(), is_fully_specified(), is_less(), is_tbd(), operator=(), output(), output_instance(), InterfaceMaker::record_function(), resolve_type(), FunctionRemap::setup_properties(), and substitute_decl().

CPPType* CPPFunctionType::_return_type
 

Definition at line 48 of file cppFunctionType.h.

Referenced by CPPExpression::determine_type(), TypeManager::get_pointer_type(), CPPFunctionGroup::get_return_type(), InterrogateBuilder::in_ignoreinvolved(), TypeManager::involves_protected(), is_equal(), is_equivalent_function(), is_fully_specified(), is_less(), is_tbd(), operator=(), output(), output_instance(), resolve_type(), FunctionRemap::setup_properties(), and substitute_decl().


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