summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus')
-rw-r--r--src/shared/cplusplus/AST.cpp18
-rw-r--r--src/shared/cplusplus/AST.h16
-rw-r--r--src/shared/cplusplus/ASTVisit.cpp8
-rw-r--r--src/shared/cplusplus/ASTVisitor.h2
-rw-r--r--src/shared/cplusplus/ASTfwd.h2
-rw-r--r--src/shared/cplusplus/CheckStatement.cpp2
-rw-r--r--src/shared/cplusplus/Parser.cpp2
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;
}
}