diff options
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r-- | src/shared/cplusplus/AST.h | 115 |
1 files changed, 22 insertions, 93 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index f7e483f881..48e2ea934c 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -197,9 +197,10 @@ public: virtual WhileStatementAST *asWhileStatement() { return 0; } virtual IdentifierListAST *asIdentifierList() { return 0; } + virtual ObjCClassForwardDeclarationAST *asObjCClassForwarDeclaration() { return 0; } virtual ObjCClassDeclarationAST *asObjCClassDeclaration() { return 0; } + virtual ObjCProtocolForwardDeclarationAST *asObjCProtocolForwardDeclaration() { return 0; } virtual ObjCProtocolDeclarationAST *asObjCProtocolDeclaration() { return 0; } - virtual ObjCProtocolDefinitionAST *asObjCProtocolDefinition() { return 0; } virtual ObjCProtocolRefsAST *asObjCProtocolRefs() { return 0; } virtual ObjCMessageArgumentAST *asObjCMessageArgument() { return 0; } virtual ObjCMessageArgumentListAST *asObjCMessageArgumentList() { return 0; } @@ -222,8 +223,6 @@ public: virtual ObjCMessageArgumentDeclarationListAST *asObjCMessageArgumentDeclarationList() { return 0; } virtual ObjCMethodPrototypeAST *asObjCMethodPrototype() { return 0; } virtual ObjCMethodDeclarationAST *asObjCMethodDeclaration() { return 0; } - virtual ObjCClassImplementationAST *asObjCClassImplementation() { return 0; } - virtual ObjCCategoryImplementationAST *asObjCCategoryImplementation() { return 0; } virtual ObjCSynthesizedPropertyAST *asObjCSynthesizedProperty() { return 0; } virtual ObjCSynthesizedPropertyListAST *asObjCSynthesizedPropertyList() { return 0; } virtual ObjCSynthesizedPropertiesDeclarationAST *asObjCSynthesizedPropertiesDeclaration() { return 0; } @@ -2474,7 +2473,7 @@ protected: class CPLUSPLUS_EXPORT IdentifierListAST: public AST { public: - SimpleNameAST *name; + NameAST *name; unsigned comma_token; IdentifierListAST *next; @@ -2491,7 +2490,7 @@ protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCClassDeclarationAST: public DeclarationAST +class CPLUSPLUS_EXPORT ObjCClassForwardDeclarationAST: public DeclarationAST { public: SpecifierAST *attributes; @@ -2503,26 +2502,30 @@ public: // annotations List<ObjCForwardClassDeclaration *> *symbols; public: - virtual ObjCClassDeclarationAST *asObjCClassDeclaration() + virtual ObjCClassForwardDeclarationAST *asObjCClassForwardDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCClassDeclarationAST *clone(MemoryPool *pool) const; + virtual ObjCClassForwardDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCClassInterfaceDefinitionAST: public DeclarationAST +class CPLUSPLUS_EXPORT ObjCClassDeclarationAST: public DeclarationAST { public: SpecifierAST *attributes; unsigned interface_token; - SimpleNameAST *class_name; + unsigned implementation_token; + NameAST *class_name; + unsigned lparen_token; + NameAST *category_name; + unsigned rparen_token; unsigned colon_token; - unsigned superclass_identifier_token; + NameAST *superclass; ObjCProtocolRefsAST *protocol_refs; ObjCInstanceVariablesDeclarationAST *inst_vars_decl; DeclarationListAST *member_declarations; @@ -2532,45 +2535,19 @@ public: // annotations ObjCClass *symbol; public: - virtual ObjCClassInterfaceDefinitionAST *asObjCClassInterfaceDefinition() - { return this; } - - virtual unsigned firstToken() const; - virtual unsigned lastToken() const; - - virtual ObjCClassInterfaceDefinitionAST *clone(MemoryPool *pool) const; - -protected: - virtual void accept0(ASTVisitor *visitor); -}; - -class CPLUSPLUS_EXPORT ObjCCategoryInterfaceDeclarationAST: public DeclarationAST -{ -public: - SpecifierAST *attributes; - unsigned interface_token; - unsigned class_identifier_token; - unsigned lparen_token; - unsigned category_identifier_token; - unsigned rparen_token; - ObjCProtocolRefsAST *protocol_refs; - DeclarationListAST *member_declarations; - unsigned end_token; - -public: - virtual ObjCCategoryInterfaceDeclarationAST *asObjCCategoryInterfaceDeclaration() + virtual ObjCClassDeclarationAST *asObjCClassDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCCategoryInterfaceDeclarationAST *clone(MemoryPool *pool) const; + virtual ObjCClassDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCProtocolDeclarationAST: public DeclarationAST +class CPLUSPLUS_EXPORT ObjCProtocolForwardDeclarationAST: public DeclarationAST { public: SpecifierAST *attributes; @@ -2582,24 +2559,24 @@ public: // annotations List<ObjCForwardProtocolDeclaration *> *symbols; public: - virtual ObjCProtocolDeclarationAST *asObjCProtocolDeclaration() + virtual ObjCProtocolForwardDeclarationAST *asObjCProtocolForwardDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolDeclarationAST *clone(MemoryPool *pool) const; + virtual ObjCProtocolForwardDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCProtocolDefinitionAST: public DeclarationAST +class CPLUSPLUS_EXPORT ObjCProtocolDeclarationAST: public DeclarationAST { public: SpecifierAST *attributes; unsigned protocol_token; - SimpleNameAST *name; + NameAST *name; ObjCProtocolRefsAST *protocol_refs; DeclarationListAST *member_declarations; unsigned end_token; @@ -2608,13 +2585,13 @@ public: // annotations ObjCProtocol *symbol; public: - virtual ObjCProtocolDefinitionAST *asObjCProtocolDefinition() + virtual ObjCProtocolDeclarationAST *asObjCProtocolDeclaration() { return this; } virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolDefinitionAST *clone(MemoryPool *pool) const; + virtual ObjCProtocolDeclarationAST *clone(MemoryPool *pool) const; protected: virtual void accept0(ASTVisitor *visitor); @@ -3055,54 +3032,6 @@ protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT ObjCClassImplementationAST: public DeclarationAST -{ -public: - unsigned implementation_token; - unsigned class_identifier; - unsigned colon_token; - unsigned super_class_identifier; - ObjCInstanceVariablesDeclarationAST *inst_vars_decl; - DeclarationListAST *declarations; - unsigned end_token; - -public: - virtual ObjCClassImplementationAST *asObjCClassImplementation() - { return this; } - - virtual unsigned firstToken() const; - virtual unsigned lastToken() const; - - virtual ObjCClassImplementationAST *clone(MemoryPool *pool) const; - -protected: - virtual void accept0(ASTVisitor *visitor); -}; - -class CPLUSPLUS_EXPORT ObjCCategoryImplementationAST: public DeclarationAST -{ -public: - unsigned implementation_token; - unsigned class_identifier; - unsigned lparen_token; - unsigned category_name_token; - unsigned rparen_token; - DeclarationListAST *declarations; - unsigned end_token; - -public: - virtual ObjCCategoryImplementationAST *asObjCCategoryImplementation() - { return this; } - - virtual unsigned firstToken() const; - virtual unsigned lastToken() const; - - virtual ObjCCategoryImplementationAST *clone(MemoryPool *pool) const; - -protected: - virtual void accept0(ASTVisitor *visitor); -}; - class CPLUSPLUS_EXPORT ObjCSynthesizedPropertyAST: public AST { public: |