diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-13 09:45:28 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2009-07-13 11:08:11 +0200 |
commit | 78cceecc28f06cf2c23e01e8daef4ceb6a5842d4 (patch) | |
tree | 202e64cb49bbaabc8687cce0387ce97337982873 /src/shared/cplusplus/ASTVisit.cpp | |
parent | 93f5fdc0f9117e7b2b1c415cab381912db08f62a (diff) | |
download | qt-creator-78cceecc28f06cf2c23e01e8daef4ceb6a5842d4.tar.gz |
Added AST for a bit of ObjC.
Diffstat (limited to 'src/shared/cplusplus/ASTVisit.cpp')
-rw-r--r-- | src/shared/cplusplus/ASTVisit.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp index 1673577474..c556b21015 100644 --- a/src/shared/cplusplus/ASTVisit.cpp +++ b/src/shared/cplusplus/ASTVisit.cpp @@ -1139,4 +1139,70 @@ void ObjCClassDeclarationAST::accept0(ASTVisitor *visitor) visitor->endVisit(this); } +void ObjCClassInterfaceDeclarationAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // visit ObjCClassInterfaceDeclarationAST + for (SpecifierAST *it = attributes; it; it = it->next) + accept(it, visitor); + accept(protocol_refs, visitor); + // visit DeclarationAST + } + visitor->endVisit(this); +} + +void ObjCCategoryInterfaceDeclarationAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // visit ObjCCategoryInterfaceDeclarationAST + accept(protocol_refs, visitor); + // visit DeclarationAST + } + visitor->endVisit(this); +} + +void ObjCProtocolDeclarationAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // visit ObjCProtocolDeclarationAST + for (SpecifierAST *it = attributes; it; it = it->next) + accept(it, visitor); + for (IdentifierListAST *it = identifier_list; it; it = it->next) + accept(it, visitor); + // visit DeclarationAST + } + visitor->endVisit(this); +} + +void ObjCProtocolDefinitionAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // visit ObjCProtocolDefinitionAST + for (SpecifierAST *it = attributes; it; it = it->next) + accept(it, visitor); + accept(protocol_refs, visitor); + // visit DeclarationAST + } + visitor->endVisit(this); +} + +void ObjCProtocolRefsAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // visit ObjCProtocolRefsAST + for (IdentifierListAST *it = identifier_list; it; it = it->next) + accept(it, visitor); + // visit AST + } + visitor->endVisit(this); +} + +void ObjCMessageExpressionAST::accept0(ASTVisitor *visitor) +{ + if (visitor->visit(this)) { + // FIXME: TODO + } + visitor->endVisit(this); +} + CPLUSPLUS_END_NAMESPACE |