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