|
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) |