Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Class Class Reference

#include <mop.h>

Inheritance diagram for Class:

Inheritance graph
[legend]
Collaboration diagram for Class:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  Public = 298,
  Protected = 297,
  Private = 296,
  Undefined = 0
}

Public Member Functions

 Class ()
 Class (Environment *e, char *name)
 Class (Environment *e, Ptree *name)
virtual void InitializeInstance (Ptree *def, Ptree *margs)
virtual ~Class ()
PtreeComments ()
PtreeName ()
PtreeBaseClasses ()
PtreeMembers ()
PtreeDefinition ()
virtual char * MetaclassName ()
ClassNthBaseClass (int nth)
PtreeNthBaseClassName (int nth)
bool IsSubclassOf (Ptree *name)
bool IsImmediateSubclassOf (Ptree *name)
bool NthMember (int nth, Member &member)
bool LookupMember (Ptree *name)
bool LookupMember (Ptree *name, Member &member, int index=0)
bool LookupMember (char *name)
bool LookupMember (char *name, Member &member, int index=0)
MemberListGetMemberList ()
int Subclasses (ClassArray &subclasses)
int ImmediateSubclasses (ClassArray &subclasses)
PtreeNthMemberName (int)
int IsMember (Ptree *)
bool LookupMemberType (Ptree *, TypeInfo &)
virtual void TranslateClass (Environment *)
void RemoveClass ()
void AddClassSpecifier (Ptree *spec)
void ChangeName (Ptree *name)
void ChangeBaseClasses (Ptree *)
void RemoveBaseClasses ()
void AppendBaseClass (Class *c, int specifier=Public, bool is_virtual=false)
void AppendBaseClass (char *class_name, int specifier=Public, bool is_virtual=false)
void AppendBaseClass (Ptree *class_name, int specifier=Public, bool is_virtual=false)
void ChangeMember (Member &changed_member)
void AppendMember (Member &added_member, int specifier=Public)
void AppendMember (Ptree *added_member)
void RemoveMember (Member &)
virtual void TranslateMemberFunction (Environment *, Member &)
virtual PtreeTranslateInitializer (Environment *, Ptree *var_name, Ptree *initializer)
virtual PtreeTranslateNew (Environment *, Ptree *header, Ptree *new_operator, Ptree *placement, Ptree *type_name, Ptree *arglist)
virtual PtreeTranslateDelete (Environment *, Ptree *op, Ptree *obj)
virtual PtreeTranslateAssign (Environment *, Ptree *left, Ptree *assign_op, Ptree *right)
virtual PtreeTranslateBinary (Environment *, Ptree *left, Ptree *binary_op, Ptree *right)
virtual PtreeTranslateUnary (Environment *, Ptree *unary_op, Ptree *object)
virtual PtreeTranslateSubscript (Environment *, Ptree *object, Ptree *index)
virtual PtreeTranslatePostfix (Environment *, Ptree *object, Ptree *postfix_op)
virtual PtreeTranslateFunctionCall (Environment *, Ptree *object, Ptree *arglist)
virtual PtreeTranslateMemberCall (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *arglist)
virtual PtreeTranslateMemberCall (Environment *, Ptree *member_name, Ptree *arglist)
virtual PtreeTranslateMemberRead (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name)
virtual PtreeTranslateMemberRead (Environment *, Ptree *member_name)
virtual PtreeTranslateMemberWrite (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *assign_op, Ptree *expr)
virtual PtreeTranslateMemberWrite (Environment *, Ptree *member_name, Ptree *assign_op, Ptree *expr)
virtual PtreeTranslateUnaryOnMember (Environment *, Ptree *unary_op, Ptree *object, Ptree *access_op, Ptree *member_name)
virtual PtreeTranslateUnaryOnMember (Environment *, Ptree *unary_op, Ptree *member_name)
virtual PtreeTranslatePostfixOnMember (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *postfix_op)
virtual PtreeTranslatePostfixOnMember (Environment *, Ptree *member_name, Ptree *postfix_op)
virtual PtreeTranslatePointer (Environment *, Ptree *var_name)
virtual PtreeTranslateUserStatement (Environment *, Ptree *object, Ptree *access_op, Ptree *keyword, Ptree *rest)
virtual PtreeTranslateStaticUserStatement (Environment *, Ptree *keyword, Ptree *rest)
PtreeTranslateExpression (Environment *, Ptree *expr)
PtreeTranslateExpression (Environment *, Ptree *expr, TypeInfo &type)
PtreeTranslateStatement (Environment *env, Ptree *expr)
PtreeTranslateNewType (Environment *env, Ptree *type)
PtreeTranslateArguments (Environment *, Ptree *arglist)
PtreeTranslateFunctionBody (Environment *, Member &m, Ptree *body)
EnvironmentGetEnvironment ()
virtual bool AcceptTemplate ()
virtual PtreeFinalizeInstance ()
virtual PtreeFinalize ()
bool InsertDeclaration (Environment *, Ptree *declaration)
bool InsertDeclaration (Environment *, Ptree *declaration, Ptree *key, void *client_data)
void * LookupClientData (Environment *, Ptree *key)
void ErrorMessage (Environment *, const char *message, Ptree *name, Ptree *where)
void WarningMessage (Environment *, const char *message, Ptree *name, Ptree *where)
void ErrorMessage (const char *message, Ptree *name, Ptree *where)
void WarningMessage (const char *message, Ptree *name, Ptree *where)

Static Public Member Functions

ClassArrayAllClasses ()
int Subclasses (Ptree *name, ClassArray &subclasses)
int ImmediateSubclasses (Ptree *name, ClassArray &subclasses)
int InstancesOf (char *metaclass_name, ClassArray &classes)
PtreeStripClassQualifier (Ptree *qualified_name)
bool Initialize ()
void FinalizeAll (std::ostream &out)
PtreeFinalizeClass ()
void RegisterNewModifier (char *keyword)
void RegisterNewAccessSpecifier (char *keyword)
void RegisterNewMemberModifier (char *keyword)
void RegisterNewWhileStatement (char *keyword)
void RegisterNewForStatement (char *keyword)
void RegisterNewClosureStatement (char *keyword)
void RegisterMetaclass (char *keyword, char *class_name)
void ChangeDefaultMetaclass (char *name)
void ChangeDefaultTemplateMetaclass (char *name)
void SetMetaclassForFunctions (char *name)
void InsertBeforeStatement (Environment *, Ptree *)
void AppendAfterStatement (Environment *, Ptree *)
void InsertBeforeToplevel (Environment *, Class *)
void InsertBeforeToplevel (Environment *, Member &)
void InsertBeforeToplevel (Environment *, Ptree *)
void AppendAfterToplevel (Environment *, Class *)
void AppendAfterToplevel (Environment *, Member &)
void AppendAfterToplevel (Environment *, Ptree *)
bool RecordCmdLineOption (char *key, char *value)
bool LookupCmdLineOption (char *key)
bool LookupCmdLineOption (char *key, char *&value)
void WarnObsoleteness (char *, char *=nil)

Private Types

enum  { MaxOptions = 8 }

Private Member Functions

void Construct (Environment *, Ptree *)
void SetEnvironment (Environment *)
PtreeGetClassSpecifier ()
PtreeGetNewName ()
PtreeGetBaseClasses ()
ChangedMemberList::CmemGetChangedMember (Ptree *)
ChangedMemberListGetAppendedMembers ()
PtreeGetAppendedCode ()
void TranslateClassHasFinished ()
void CheckValidity (char *)

Private Attributes

Ptreedefinition
Ptreefull_definition
Environmentclass_environment
MemberListmember_list
bool done_decl_translation
bool removed
ChangedMemberListchanged_member_list
ChangedMemberListappended_member_list
Ptreeappended_code
Ptreenew_base_classes
Ptreenew_class_specifier
Ptreenew_class_name

Static Private Attributes

ClassArrayclass_list = nil
int num_of_cmd_options = 0
char * cmd_options [MaxOptions *2]
char * metaclass_for_c_functions = nil
Classfor_c_functions = nil
Ptreeclass_t = new LeafReserved("class", 5)
Ptreeempty_block_t
Ptreepublic_t = new LeafPUBLIC("public", 6)
Ptreeprotected_t = new LeafPROTECTED("protected", 9)
Ptreeprivate_t = new LeafPRIVATE("private", 7)
Ptreevirtual_t = new LeafVIRTUAL("virtual", 7)
Ptreecolon_t = new Leaf(":", 1)
Ptreecomma_t = new Leaf(",", 1)
Ptreesemicolon_t = new Leaf(";", 1)

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
Public 
Protected 
Private 
Undefined 

anonymous enum [private]
 

Enumeration values:
MaxOptions 


Constructor & Destructor Documentation

Class::Class  )  [inline]
 

Class::Class Environment e,
char *  name
[inline]
 

Class::Class Environment e,
Ptree name
[inline]
 

Class::~Class  )  [virtual]
 


Member Function Documentation

void Class::InitializeInstance Ptree def,
Ptree margs
[virtual]
 

Reimplemented in TemplateClass.

Ptree * Class::Comments  ) 
 

Ptree * Class::Name  ) 
 

Ptree * Class::BaseClasses  ) 
 

Ptree * Class::Members  ) 
 

Ptree* Class::Definition  )  [inline]
 

char * Class::MetaclassName  )  [virtual]
 

Reimplemented in Metaclass, TemplateClass, and QuoteClass.

Class * Class::NthBaseClass int  nth  ) 
 

Ptree * Class::NthBaseClassName int  nth  ) 
 

bool Class::IsSubclassOf Ptree name  ) 
 

bool Class::IsImmediateSubclassOf Ptree name  ) 
 

bool Class::NthMember int  nth,
Member member
 

bool Class::LookupMember Ptree name  ) 
 

bool Class::LookupMember Ptree name,
Member member,
int  index = 0
 

bool Class::LookupMember char *  name  ) 
 

bool Class::LookupMember char *  name,
Member member,
int  index = 0
 

MemberList * Class::GetMemberList  ) 
 

ClassArray & Class::AllClasses  )  [static]
 

int Class::Subclasses ClassArray subclasses  ) 
 

int Class::Subclasses Ptree name,
ClassArray subclasses
[static]
 

int Class::ImmediateSubclasses ClassArray subclasses  ) 
 

int Class::ImmediateSubclasses Ptree name,
ClassArray subclasses
[static]
 

int Class::InstancesOf char *  metaclass_name,
ClassArray classes
[static]
 

Ptree * Class::NthMemberName int   ) 
 

int Class::IsMember Ptree  ) 
 

bool Class::LookupMemberType Ptree ,
TypeInfo
 

void Class::TranslateClass Environment  )  [virtual]
 

Reimplemented in IopcTranslator, and Metaclass.

void Class::RemoveClass  )  [inline]
 

void Class::AddClassSpecifier Ptree spec  ) 
 

void Class::ChangeName Ptree name  ) 
 

void Class::ChangeBaseClasses Ptree  ) 
 

void Class::RemoveBaseClasses  ) 
 

void Class::AppendBaseClass Class c,
int  specifier = Public,
bool  is_virtual = false
 

void Class::AppendBaseClass char *  class_name,
int  specifier = Public,
bool  is_virtual = false
 

void Class::AppendBaseClass Ptree class_name,
int  specifier = Public,
bool  is_virtual = false
 

void Class::ChangeMember Member changed_member  ) 
 

void Class::AppendMember Member added_member,
int  specifier = Public
 

void Class::AppendMember Ptree added_member  ) 
 

void Class::RemoveMember Member  ) 
 

void Class::TranslateMemberFunction Environment ,
Member
[virtual]
 

Reimplemented in IopcTranslator, and Metaclass.

Ptree * Class::TranslateInitializer Environment ,
Ptree var_name,
Ptree initializer
[virtual]
 

Ptree * Class::TranslateNew Environment ,
Ptree header,
Ptree new_operator,
Ptree placement,
Ptree type_name,
Ptree arglist
[virtual]
 

Ptree * Class::TranslateDelete Environment ,
Ptree op,
Ptree obj
[virtual]
 

Ptree * Class::TranslateAssign Environment ,
Ptree left,
Ptree assign_op,
Ptree right
[virtual]
 

Ptree * Class::TranslateBinary Environment ,
Ptree left,
Ptree binary_op,
Ptree right
[virtual]
 

Ptree * Class::TranslateUnary Environment ,
Ptree unary_op,
Ptree object
[virtual]
 

Ptree * Class::TranslateSubscript Environment ,
Ptree object,
Ptree index
[virtual]
 

Ptree * Class::TranslatePostfix Environment ,
Ptree object,
Ptree postfix_op
[virtual]
 

Ptree * Class::TranslateFunctionCall Environment ,
Ptree object,
Ptree arglist
[virtual]
 

Ptree * Class::TranslateMemberCall Environment ,
Ptree object,
Ptree access_op,
Ptree member_name,
Ptree arglist
[virtual]
 

Ptree * Class::TranslateMemberCall Environment ,
Ptree member_name,
Ptree arglist
[virtual]
 

Reimplemented in QuoteClass.

Ptree * Class::TranslateMemberRead Environment ,
Ptree object,
Ptree access_op,
Ptree member_name
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslateMemberRead Environment ,
Ptree member_name
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslateMemberWrite Environment ,
Ptree object,
Ptree access_op,
Ptree member_name,
Ptree assign_op,
Ptree expr
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslateMemberWrite Environment ,
Ptree member_name,
Ptree assign_op,
Ptree expr
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslateUnaryOnMember Environment ,
Ptree unary_op,
Ptree object,
Ptree access_op,
Ptree member_name
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslateUnaryOnMember Environment ,
Ptree unary_op,
Ptree member_name
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslatePostfixOnMember Environment ,
Ptree object,
Ptree access_op,
Ptree member_name,
Ptree postfix_op
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslatePostfixOnMember Environment ,
Ptree member_name,
Ptree postfix_op
[virtual]
 

Reimplemented in IopcTranslator.

Ptree * Class::TranslatePointer Environment ,
Ptree var_name
[virtual]
 

Ptree * Class::TranslateUserStatement Environment ,
Ptree object,
Ptree access_op,
Ptree keyword,
Ptree rest
[virtual]
 

Ptree * Class::TranslateStaticUserStatement Environment ,
Ptree keyword,
Ptree rest
[virtual]
 

Ptree * Class::StripClassQualifier Ptree qualified_name  )  [static]
 

Ptree * Class::TranslateExpression Environment ,
Ptree expr
 

Ptree * Class::TranslateExpression Environment ,
Ptree expr,
TypeInfo type
 

Ptree * Class::TranslateStatement Environment env,
Ptree expr
 

Ptree * Class::TranslateNewType Environment env,
Ptree type
 

Ptree * Class::TranslateArguments Environment ,
Ptree arglist
 

Ptree * Class::TranslateFunctionBody Environment ,
Member m,
Ptree body
 

Environment* Class::GetEnvironment  )  [inline]
 

bool Class::AcceptTemplate  )  [virtual]
 

Reimplemented in TemplateClass.

bool Class::Initialize  )  [static]
 

Reimplemented in Metaclass, TemplateClass, and QuoteClass.

void Class::FinalizeAll std::ostream &  out  )  [static]
 

Ptree * Class::FinalizeInstance  )  [virtual]
 

Ptree * Class::Finalize  )  [virtual]
 

Ptree * Class::FinalizeClass  )  [static]
 

void Class::RegisterNewModifier char *  keyword  )  [static]
 

void Class::RegisterNewAccessSpecifier char *  keyword  )  [static]
 

void Class::RegisterNewMemberModifier char *  keyword  )  [static]
 

void Class::RegisterNewWhileStatement char *  keyword  )  [static]
 

void Class::RegisterNewForStatement char *  keyword  )  [static]
 

void Class::RegisterNewClosureStatement char *  keyword  )  [static]
 

void Class::RegisterMetaclass char *  keyword,
char *  class_name
[static]
 

void Class::ChangeDefaultMetaclass char *  name  )  [static]
 

void Class::ChangeDefaultTemplateMetaclass char *  name  )  [static]
 

void Class::SetMetaclassForFunctions char *  name  )  [static]
 

void Class::InsertBeforeStatement Environment ,
Ptree
[static]
 

void Class::AppendAfterStatement Environment ,
Ptree
[static]
 

void Class::InsertBeforeToplevel Environment ,
Class
[static]
 

void Class::InsertBeforeToplevel Environment ,
Member
[static]
 

void Class::InsertBeforeToplevel Environment ,
Ptree
[static]
 

void Class::AppendAfterToplevel Environment ,
Class
[static]
 

void Class::AppendAfterToplevel Environment ,
Member
[static]
 

void Class::AppendAfterToplevel Environment ,
Ptree
[static]
 

bool Class::InsertDeclaration Environment ,
Ptree declaration
 

bool Class::InsertDeclaration Environment ,
Ptree declaration,
Ptree key,
void *  client_data
 

void * Class::LookupClientData Environment ,
Ptree key
 

void Class::ErrorMessage Environment ,
const char *  message,
Ptree name,
Ptree where
 

void Class::WarningMessage Environment ,
const char *  message,
Ptree name,
Ptree where
 

void Class::ErrorMessage const char *  message,
Ptree name,
Ptree where
 

void Class::WarningMessage const char *  message,
Ptree name,
Ptree where
 

bool Class::RecordCmdLineOption char *  key,
char *  value
[static]
 

bool Class::LookupCmdLineOption char *  key  )  [static]
 

bool Class::LookupCmdLineOption char *  key,
char *&  value
[static]
 

void Class::WarnObsoleteness char *  ,
char *  = nil
[static]
 

void Class::Construct Environment ,
Ptree
[private]
 

void Class::SetEnvironment Environment  )  [private]
 

Ptree* Class::GetClassSpecifier  )  [inline, private]
 

Ptree* Class::GetNewName  )  [inline, private]
 

Ptree* Class::GetBaseClasses  )  [inline, private]
 

ChangedMemberList::Cmem * Class::GetChangedMember Ptree  )  [private]
 

ChangedMemberList* Class::GetAppendedMembers  )  [inline, private]
 

Ptree* Class::GetAppendedCode  )  [inline, private]
 

void Class::TranslateClassHasFinished  )  [inline, private]
 

void Class::CheckValidity char *   )  [private]
 


Member Data Documentation

Ptree* Class::definition [private]
 

Ptree* Class::full_definition [private]
 

Environment* Class::class_environment [private]
 

MemberList* Class::member_list [private]
 

bool Class::done_decl_translation [private]
 

bool Class::removed [private]
 

ChangedMemberList* Class::changed_member_list [private]
 

ChangedMemberList* Class::appended_member_list [private]
 

Ptree* Class::appended_code [private]
 

Ptree* Class::new_base_classes [private]
 

Ptree* Class::new_class_specifier [private]
 

Ptree* Class::new_class_name [private]
 

BEGIN_OPENCXX_NAMESPACE ClassArray * Class::class_list = nil [static, private]
 

int Class::num_of_cmd_options = 0 [static, private]
 

char * Class::cmd_options [static, private]
 

char * Class::metaclass_for_c_functions = nil [static, private]
 

Class * Class::for_c_functions = nil [static, private]
 

Ptree * Class::class_t = new LeafReserved("class", 5) [static, private]
 

Ptree * Class::empty_block_t [static, private]
 

Initial value:

 new PtreeClassBody(new Leaf("{", 1),
             nil,
             new Leaf("}", 1))

Ptree * Class::public_t = new LeafPUBLIC("public", 6) [static, private]
 

Ptree * Class::protected_t = new LeafPROTECTED("protected", 9) [static, private]
 

Ptree * Class::private_t = new LeafPRIVATE("private", 7) [static, private]
 

Ptree * Class::virtual_t = new LeafVIRTUAL("virtual", 7) [static, private]
 

Ptree * Class::colon_t = new Leaf(":", 1) [static, private]
 

Ptree * Class::comma_t = new Leaf(",", 1) [static, private]
 

Ptree * Class::semicolon_t = new Leaf(";", 1) [static, private]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:35:13 2004 for IOPC by Doxygen 1.3.6