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

Template_class_symbol Class Reference

#include <template.h>

Inheritance diagram for Template_class_symbol:

Inheritance graph
[legend]
Collaboration diagram for Template_class_symbol:

Collaboration graph
[legend]
List of all members.

Public Methods

 Template_class_symbol (Abstract_scope *scope)
 ~Template_class_symbol ()
Symbol::Kind get_kind () const
void set_definition (Template_thing *def)
void add_member (Template_thing *def)
Class_symbolget_specialisation (const Type_vector &types)
Class_symbolget_specialisation_from_ptree (Ptree *tree, Abstract_scope *sco)

Private Attributes

Template_thingdefinition
std::vector< Template_thing * > members
std::vector< Template_spec * > special
Abstract_scopedefined_in_scope

Constructor & Destructor Documentation

Template_class_symbol::Template_class_symbol Abstract_scope   scope
 

Definition at line 220 of file template.cc.

References Symbol::set_status(), and Symbol::st_Declared.

Template_class_symbol::~Template_class_symbol  
 

Definition at line 229 of file template.cc.


Member Function Documentation

void Template_class_symbol::add_member Template_thing   def
 

Definition at line 253 of file template.cc.

References members.

Referenced by Template_visitor::declare_name().

Symbol::Kind Template_class_symbol::get_kind   const [virtual]
 

Implements Symbol.

Definition at line 235 of file template.cc.

References Symbol::k_ClassTemplate.

Class_symbol * Template_class_symbol::get_specialisation const Type_vector   types
 

Definition at line 261 of file template.cc.

References Template_spec::add_code(), compile_error(), defined_in_scope, definition, Symbol::get_basename(), Symbol_name::get_mangled_template_name(), Annotator::get_output(), Template_thing::get_tree(), Source::instance(), members, parse_class(), special, Type_vector, and Paranoid_visitor< Annotator_RT >::visit_and_catch().

Referenced by get_specialisation_from_ptree(), and Symbol_name::lookup_for_use().

Class_symbol * Template_class_symbol::get_specialisation_from_ptree Ptree   tree,
Abstract_scope   sco
 

Definition at line 299 of file template.cc.

References get_specialisation(), parse_template_arg_list(), and Type_vector.

Referenced by Symbol_name::lookup_symbol_in_scope().

void Template_class_symbol::set_definition Template_thing   def
 

Definition at line 243 of file template.cc.

References definition, Symbol::is_defined(), Symbol::set_status(), and Symbol::st_Defined.

Referenced by Template_visitor::declare_class().


Member Data Documentation

Abstract_scope* Template_class_symbol::defined_in_scope [private]
 

Definition at line 50 of file template.h.

Referenced by get_specialisation().

Template_thing* Template_class_symbol::definition [private]
 

Definition at line 45 of file template.h.

Referenced by get_specialisation(), and set_definition().

std::vector<Template_thing*> Template_class_symbol::members [private]
 

Definition at line 47 of file template.h.

Referenced by add_member(), and get_specialisation().

std::vector<Template_spec*> Template_class_symbol::special [private]
 

Definition at line 48 of file template.h.

Referenced by get_specialisation().


The documentation for this class was generated from the following files:
Generated on Mon Feb 10 17:36:41 2003 for VFiasco Semantics Compiler by doxygen1.2.15