diff options
Diffstat (limited to 'src/shared/cplusplus')
-rw-r--r-- | src/shared/cplusplus/AST.cpp | 18 | ||||
-rw-r--r-- | src/shared/cplusplus/AST.h | 16 | ||||
-rw-r--r-- | src/shared/cplusplus/ASTVisit.cpp | 8 | ||||
-rw-r--r-- | src/shared/cplusplus/ASTVisitor.h | 2 | ||||
-rw-r--r-- | src/shared/cplusplus/ASTfwd.h | 2 | ||||
-rw-r--r-- | src/shared/cplusplus/CheckStatement.cpp | 2 | ||||
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 2 |
7 files changed, 4 insertions, 46 deletions
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp index 9cb2d1f742..44d2b978ff 100644 --- a/src/shared/cplusplus/AST.cpp +++ b/src/shared/cplusplus/AST.cpp @@ -401,22 +401,6 @@ unsigned ClassSpecifierAST::lastToken() const return classkey_token + 1; } - -unsigned StatementListAST::firstToken() const -{ - return statement->firstToken(); -} - -unsigned StatementListAST::lastToken() const -{ - for (const StatementListAST *it = this; it; it = it->next) { - if (! it->next) - return it->statement->lastToken(); - } - - return 0; -} - unsigned CompoundStatementAST::firstToken() const { return lbrace_token; @@ -429,7 +413,7 @@ unsigned CompoundStatementAST::lastToken() const for (StatementListAST *it = statements; it; it = it->next) { if (! it->next) - return it->statement->lastToken(); + return it->value->lastToken(); } return lbrace_token + 1; diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index 3bc6f8e174..a3686849b4 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -607,22 +607,6 @@ protected: virtual void accept0(ASTVisitor *visitor); }; -class CPLUSPLUS_EXPORT StatementListAST: public AST -{ -public: - StatementAST *statement; - StatementListAST *next; - -public: - virtual StatementListAST *asStatementList() { return this; } - - virtual unsigned firstToken() const; - virtual unsigned lastToken() const; - -protected: - virtual void accept0(ASTVisitor *visitor); -}; - class CPLUSPLUS_EXPORT CompoundStatementAST: public StatementAST { public: diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp index 23578a006b..f3239d356a 100644 --- a/src/shared/cplusplus/ASTVisit.cpp +++ b/src/shared/cplusplus/ASTVisit.cpp @@ -180,14 +180,6 @@ void CaseStatementAST::accept0(ASTVisitor *visitor) visitor->endVisit(this); } -void StatementListAST::accept0(ASTVisitor *visitor) -{ - if (visitor->visit(this)) { - accept(statement, visitor); - } - visitor->endVisit(this); -} - void CompoundStatementAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { diff --git a/src/shared/cplusplus/ASTVisitor.h b/src/shared/cplusplus/ASTVisitor.h index 8ad6d640aa..41fcc38151 100644 --- a/src/shared/cplusplus/ASTVisitor.h +++ b/src/shared/cplusplus/ASTVisitor.h @@ -171,7 +171,6 @@ public: virtual bool visit(SimpleNameAST *) { return true; } virtual bool visit(SimpleSpecifierAST *) { return true; } virtual bool visit(SizeofExpressionAST *) { return true; } - virtual bool visit(StatementListAST *) { return true; } virtual bool visit(StringLiteralAST *) { return true; } virtual bool visit(SwitchStatementAST *) { return true; } virtual bool visit(TemplateArgumentListAST *) { return true; } @@ -305,7 +304,6 @@ public: virtual void endVisit(SimpleNameAST *) { } virtual void endVisit(SimpleSpecifierAST *) { } virtual void endVisit(SizeofExpressionAST *) { } - virtual void endVisit(StatementListAST *) { } virtual void endVisit(StringLiteralAST *) { } virtual void endVisit(SwitchStatementAST *) { } virtual void endVisit(TemplateArgumentListAST *) { } diff --git a/src/shared/cplusplus/ASTfwd.h b/src/shared/cplusplus/ASTfwd.h index ccc08845c3..61d7cc1aac 100644 --- a/src/shared/cplusplus/ASTfwd.h +++ b/src/shared/cplusplus/ASTfwd.h @@ -178,7 +178,6 @@ class SimpleSpecifierAST; class SizeofExpressionAST; class SpecifierAST; class StatementAST; -class StatementListAST; class StringLiteralAST; class SwitchStatementAST; class TemplateArgumentListAST; @@ -202,6 +201,7 @@ class WhileStatementAST; typedef List<ExpressionAST *> ExpressionListAST; typedef List<DeclarationAST *> DeclarationListAST; +typedef List<StatementAST *> StatementListAST; } // end of namespace CPlusPlus diff --git a/src/shared/cplusplus/CheckStatement.cpp b/src/shared/cplusplus/CheckStatement.cpp index 79a4e2e33d..f2edeae338 100644 --- a/src/shared/cplusplus/CheckStatement.cpp +++ b/src/shared/cplusplus/CheckStatement.cpp @@ -105,7 +105,7 @@ bool CheckStatement::visit(CompoundStatementAST *ast) _scope->enterSymbol(block); Scope *previousScope = switchScope(block->members()); for (StatementListAST *it = ast->statements; it; it = it->next) { - semantic()->check(it->statement, _scope); + semantic()->check(it->value, _scope); } (void) switchScope(previousScope); return false; diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 76c374d93f..1f121631a9 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -2439,7 +2439,7 @@ bool Parser::parseCompoundStatement(StatementAST *&node) skipUntilStatement(); } else { *statement_ptr = new (_pool) StatementListAST; - (*statement_ptr)->statement = statement; + (*statement_ptr)->value = statement; statement_ptr = &(*statement_ptr)->next; } } |