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 ()
Ptree * Comments ()
Ptree * Name ()
Ptree * BaseClasses ()
Ptree * Members ()
Ptree * Definition ()
virtual char * MetaclassName ()
Class * NthBaseClass (int nth)
Ptree * NthBaseClassName (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)
MemberList * GetMemberList ()
int Subclasses (ClassArray &subclasses)
int ImmediateSubclasses (ClassArray &subclasses)
Ptree * NthMemberName (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 Ptree * TranslateInitializer (Environment *, Ptree *var_name, Ptree *initializer)
virtual Ptree * TranslateNew (Environment *, Ptree *header, Ptree *new_operator, Ptree *placement, Ptree *type_name, Ptree *arglist)
virtual Ptree * TranslateDelete (Environment *, Ptree *op, Ptree *obj)
virtual Ptree * TranslateAssign (Environment *, Ptree *left, Ptree *assign_op, Ptree *right)
virtual Ptree * TranslateBinary (Environment *, Ptree *left, Ptree *binary_op, Ptree *right)
virtual Ptree * TranslateUnary (Environment *, Ptree *unary_op, Ptree *object)
virtual Ptree * TranslateSubscript (Environment *, Ptree *object, Ptree *index)
virtual Ptree * TranslatePostfix (Environment *, Ptree *object, Ptree *postfix_op)
virtual Ptree * TranslateFunctionCall (Environment *, Ptree *object, Ptree *arglist)
virtual Ptree * TranslateMemberCall (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *arglist)
virtual Ptree * TranslateMemberCall (Environment *, Ptree *member_name, Ptree *arglist)
virtual Ptree * TranslateMemberRead (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name)
virtual Ptree * TranslateMemberRead (Environment *, Ptree *member_name)
virtual Ptree * TranslateMemberWrite (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *assign_op, Ptree *expr)
virtual Ptree * TranslateMemberWrite (Environment *, Ptree *member_name, Ptree *assign_op, Ptree *expr)
virtual Ptree * TranslateUnaryOnMember (Environment *, Ptree *unary_op, Ptree *object, Ptree *access_op, Ptree *member_name)
virtual Ptree * TranslateUnaryOnMember (Environment *, Ptree *unary_op, Ptree *member_name)
virtual Ptree * TranslatePostfixOnMember (Environment *, Ptree *object, Ptree *access_op, Ptree *member_name, Ptree *postfix_op)
virtual Ptree * TranslatePostfixOnMember (Environment *, Ptree *member_name, Ptree *postfix_op)
virtual Ptree * TranslatePointer (Environment *, Ptree *var_name)
virtual Ptree * TranslateUserStatement (Environment *, Ptree *object, Ptree *access_op, Ptree *keyword, Ptree *rest)
virtual Ptree * TranslateStaticUserStatement (Environment *, Ptree *keyword, Ptree *rest)
Ptree * TranslateExpression (Environment *, Ptree *expr)
Ptree * TranslateExpression (Environment *, Ptree *expr, TypeInfo &type)
Ptree * TranslateStatement (Environment *env, Ptree *expr)
Ptree * TranslateNewType (Environment *env, Ptree *type)
Ptree * TranslateArguments (Environment *, Ptree *arglist)
Ptree * TranslateFunctionBody (Environment *, Member &m, Ptree *body)
Environment * GetEnvironment ()
virtual bool AcceptTemplate ()
virtual Ptree * FinalizeInstance ()
virtual Ptree * Finalize ()
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

ClassArray & AllClasses ()
int Subclasses (Ptree *name, ClassArray &subclasses)
int ImmediateSubclasses (Ptree *name, ClassArray &subclasses)
int InstancesOf (char *metaclass_name, ClassArray &classes)
Ptree * StripClassQualifier (Ptree *qualified_name)
bool Initialize ()
void FinalizeAll (std::ostream &out)
Ptree * FinalizeClass ()
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 *)
Ptree * GetClassSpecifier ()
Ptree * GetNewName ()
Ptree * GetBaseClasses ()
ChangedMemberList::Cmem * GetChangedMember (Ptree *)
ChangedMemberList * GetAppendedMembers ()
Ptree * GetAppendedCode ()
void TranslateClassHasFinished ()
void CheckValidity (char *)

Private Attributes

Ptree * definition
Ptree * full_definition
Environment * class_environment
MemberList * member_list
bool done_decl_translation
bool removed
ChangedMemberList * changed_member_list
ChangedMemberList * appended_member_list
Ptree * appended_code
Ptree * new_base_classes
Ptree * new_class_specifier
Ptree * new_class_name

Static Private Attributes

ClassArray * class_list = nil
int num_of_cmd_options = 0
char * cmd_options [MaxOptions *2]
char * metaclass_for_c_functions = nil
Class * for_c_functions = nil
Ptree * class_t = new LeafReserved("class", 5)
Ptree * empty_block_t
Ptree * public_t = new LeafPUBLIC("public", 6)
Ptree * protected_t = new LeafPROTECTED("protected", 9)
Ptree * private_t = new LeafPRIVATE("private", 7)
Ptree * virtual_t = new LeafVIRTUAL("virtual", 7)
Ptree * colon_t = new Leaf(":", 1)
Ptree * comma_t = new Leaf(",", 1)
Ptree * semicolon_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