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

Metaclass Class Reference

#include <metaclass.h>

Inheritance diagram for Metaclass:

Inheritance graph
[legend]
Collaboration diagram for Metaclass:

Collaboration graph
[legend]
List of all members.

Public Methods

 Metaclass ()
char * MetaclassName ()
void TranslateClass (Environment *)
PtreeGetFinalizer ()
void CheckObsoleteness ()
void ProduceInitFile (Ptree *class_name)
void InsertInitialize ()
int FindFirstNotInlinedVirtualFunction ()
void TranslateMemberFunction (Environment *env, Member &m)
void AppendHousekeepingCode (Environment *env, Ptree *class_name, Ptree *creator_name, Ptree *finalizer)

Static Public Methods

bool Initialize ()
bool IsBuiltinMetaclass (Ptree *)
void Load (Ptree *metaclass_name)
void Load (char *metaclass_name, int len)
void * LoadSoLib (char *file_name)
void * LookupSymbol (void *handle, char *symbol)

Private Attributes

Ptreenew_function_name
int first_not_inlined_vf

Constructor & Destructor Documentation

Metaclass::Metaclass  
 

Definition at line 118 of file metaclass.cc.

References first_not_inlined_vf, new_function_name, and nil.


Member Function Documentation

void Metaclass::AppendHousekeepingCode Environment   env,
Ptree   class_name,
Ptree   creator_name,
Ptree   finalizer
 

Definition at line 285 of file metaclass.cc.

References Class::AppendAfterToplevel(), and Ptree::Make().

Referenced by TranslateClass(), and TranslateMemberFunction().

void Metaclass::CheckObsoleteness  
 

Definition at line 186 of file metaclass.cc.

References Class::Definition(), Class::LookupMember(), Class::Name(), Member::Supplier(), and Class::WarningMessage().

Referenced by TranslateClass().

int Metaclass::FindFirstNotInlinedVirtualFunction  
 

Definition at line 257 of file metaclass.cc.

References Member::IsFunction(), Member::IsInline(), Member::IsVirtual(), Class::Name(), Class::NthMember(), Member::Supplier(), and Class::WarningMessage().

Referenced by TranslateClass().

Ptree * Metaclass::GetFinalizer  
 

Definition at line 172 of file metaclass.cc.

References Class::Definition(), Class::ErrorMessage(), Member::IsStatic(), Class::LookupMember(), Ptree::Make(), Class::Name(), and Member::Supplier().

Referenced by TranslateClass(), and TranslateMemberFunction().

bool Metaclass::Initialize   [static]
 

Reimplemented from Class.

Definition at line 124 of file metaclass.cc.

References TRUE.

Referenced by opcxx_init_Metaclass().

void Metaclass::InsertInitialize  
 

Definition at line 240 of file metaclass.cc.

References Class::AppendMember(), Class::Definition(), Class::ErrorMessage(), Member::IsStatic(), Class::LookupMember(), Ptree::Make(), Class::Name(), and Member::Supplier().

Referenced by TranslateClass().

bool Metaclass::IsBuiltinMetaclass Ptree   [static]
 

Definition at line 233 of file metaclass.cc.

References Ptree::Eq().

Referenced by Walker::LookupMetaclass(), and TranslateClass().

void Metaclass::Load char *    metaclass_name,
int    len
[static]
 

Definition at line 318 of file metaclass.cc.

References LoadSoLib(), and LookupSymbol().

void Metaclass::Load Ptree   metaclass_name [static]
 

Definition at line 308 of file metaclass.cc.

References opcxx_ListOfMetaclass::AlreadyRecorded(), Ptree::GetLength(), and Ptree::GetPosition().

Referenced by LoadMetaclass(), and Parser::rMetaclassDecl().

void * Metaclass::LoadSoLib char *    file_name [static]
 

Definition at line 388 of file metaclass.cc.

References nil.

Referenced by Load().

void * Metaclass::LookupSymbol void *    handle,
char *    symbol
[static]
 

Definition at line 401 of file metaclass.cc.

Referenced by Load().

char * Metaclass::MetaclassName   [virtual]
 

Reimplemented from Class.

Definition at line 129 of file metaclass.cc.

void Metaclass::ProduceInitFile Ptree   class_name
 

Definition at line 196 of file metaclass.cc.

References BaseClassUsed(), Ptree::Eq(), Ptree::GetLength(), Ptree::GetPosition(), Ptree::Make(), nil, Class::NthBaseClassName(), RunSoCompiler(), and Ptree::ToString().

Referenced by TranslateClass().

void Metaclass::TranslateClass Environment   [virtual]
 

Reimplemented from Class.

Definition at line 134 of file metaclass.cc.

References Class::AddClassSpecifier(), Class::AppendAfterToplevel(), AppendHousekeepingCode(), Class::AppendMember(), CheckObsoleteness(), FindFirstNotInlinedVirtualFunction(), first_not_inlined_vf, Ptree::GenSym(), GetFinalizer(), InsertInitialize(), IsBuiltinMetaclass(), Ptree::Make(), Class::Name(), new_function_name, ProduceInitFile(), and Class::TranslateClass().

void Metaclass::TranslateMemberFunction Environment   env,
Member   m
[virtual]
 

Reimplemented from Class.

Definition at line 270 of file metaclass.cc.

References AppendHousekeepingCode(), Member::ArgumentList(), Class::ErrorMessage(), first_not_inlined_vf, GetFinalizer(), Member::IsInline(), Class::Name(), Member::Name(), new_function_name, and Member::Nth().


Member Data Documentation

int Metaclass::first_not_inlined_vf [private]
 

Definition at line 65 of file metaclass.h.

Referenced by Metaclass(), TranslateClass(), and TranslateMemberFunction().

Ptree* Metaclass::new_function_name [private]
 

Definition at line 64 of file metaclass.h.

Referenced by Metaclass(), TranslateClass(), and TranslateMemberFunction().


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