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

class.cc File Reference

#include "class.h"
#include "class_i.h"

Include dependency graph for class.cc:

Include dependency graph

Go to the source code of this file.

Functions

void process_base_classes (Class_symbol *sym, Ptree *tree, Abstract_scope *scope)
bool is_static (Symbol *sym)
 True iff symbol /sym/ is a static entity, i.e. More...

bool is_covariant_or_same (Type n, Type o)
Class_symbolparse_class (Ptree *tree, Abstract_scope *scope, Ptree *name_for_anon, bool is_type_declaration, Class_adder &adder)


Function Documentation

bool is_covariant_or_same Type    n,
Type    o
[static]
 

Definition at line 784 of file class.cc.

References Type::get_basis_type(), Type::get_kind(), Type::get_type_symbol(), Type::is_class_type(), Type::is_more_qualified_than(), Type::is_same_qualified_as(), Class_symbol::is_unique_base_class_of(), Type::k_Pointer, and Type::k_Reference.

Referenced by Class_scope::add_function_decl().

bool is_static Symbol   sym [static]
 

True iff symbol /sym/ is a static entity, i.e.

no matter through what object we access it, we get the same thing.

Definition at line 666 of file class.cc.

References Symbol::get_kind(), Variable_symbol::get_storage_class(), Variable_symbol::has_address(), Symbol::k_ClassOrStruct, Symbol::k_ClassTemplate, Symbol::k_Enum, Symbol::k_Function, Symbol::k_Namespace, Symbol::k_Typedef, Symbol::k_Union, Symbol::k_Variable, and s_Static.

Referenced by Class_name_lookup_helper::get_result().

Class_symbol* parse_class Ptree   tree,
Abstract_scope   scope,
Ptree   name_for_anon,
bool    is_type_declaration,
Class_adder   adder
 

Definition at line 384 of file class.cc.

References Class_adder::add_class(), bogus_ptree_error(), Ptree::Car(), Ptree::Cdr(), compile_error(), Ptree::Eq(), expect_ptree(), Class_symbol::finish_definition(), Ptree::First(), Symbol::get_kind(), Symbol_name::get_name(), Symbol::get_name(), Abstract_scope::get_parent(), Class_symbol::get_scope(), Source::instance(), Symbol::is_declared(), Symbol::is_defined(), Symbol_name::is_qualified(), Symbol_name::is_template(), Ptree::IsLeaf(), Symbol::k_ClassOrStruct, Symbol::k_Union, Symbol::Kind, Ptree::Length(), Symbol_name::lookup_for_decl(), Ptree::Nth(), process_base_classes(), Ptree::Second(), Symbol::set_status(), Symbol::st_Declared, Symbol::st_Defined, Class_symbol::start_definition(), Symbol_pair::tag, Ptree::Third(), Ptree::ToString(), and Paranoid_visitor< Annotator_RT >::visit_and_catch().

Referenced by Template_class_symbol::get_specialisation(), and Type_reader::read_type().

void process_base_classes Class_symbol   sym,
Ptree   tree,
Abstract_scope   scope
[static]
 

Definition at line 344 of file class.cc.

References Class_symbol::add_base_class(), Ptree::Car(), Ptree::Cdr(), compile_error(), expect_ptree(), Ptree::First(), Symbol::get_kind(), Ptree::IsLeaf(), Symbol::k_ClassOrStruct, PRIVATE, PROTECTED, PUBLIC, Symbol_pair::tag, VIRTUAL, and Ptree::What().

Referenced by parse_class().


Generated on Mon Feb 10 17:33:18 2003 for VFiasco Semantics Compiler by doxygen1.2.15