This commit is contained in:
Hackerpilot 2014-01-07 00:04:14 +00:00
parent 84969961ea
commit a1ac849141
3 changed files with 20 additions and 20 deletions

View File

@ -485,7 +485,7 @@ class XMLPrinter : ASTVisitor
visit(forStatement.increment); visit(forStatement.increment);
output.writeln("</increment>"); output.writeln("</increment>");
} }
visit(forStatement.statementNoCaseNoDefault); visit(forStatement.declarationOrStatement);
output.writeln("</forStatement>"); output.writeln("</forStatement>");
} }

View File

@ -1203,13 +1203,13 @@ class ForStatement : ASTNode
public: public:
override void accept(ASTVisitor visitor) override void accept(ASTVisitor visitor)
{ {
mixin (visitIfNotNull!(declarationOrStatement, test, increment, mixin (visitIfNotNull!(initialization, test, increment,
statementNoCaseNoDefault)); declarationOrStatement));
} }
/** */ DeclarationOrStatement declarationOrStatement; /** */ DeclarationOrStatement initialization;
/** */ ExpressionStatement test; /** */ ExpressionStatement test;
/** */ Expression increment; /** */ Expression increment;
/** */ StatementNoCaseNoDefault statementNoCaseNoDefault; /** */ DeclarationOrStatement declarationOrStatement;
/** */ size_t startIndex; /** */ size_t startIndex;
} }
@ -2760,11 +2760,11 @@ class WhileStatement : ASTNode
public: public:
override void accept(ASTVisitor visitor) override void accept(ASTVisitor visitor)
{ {
mixin (visitIfNotNull!(expression, statementNoCaseNoDefault)); mixin (visitIfNotNull!(expression, declarationOrStatement));
} }
/** */ Expression expression; /** */ Expression expression;
/** */ StatementNoCaseNoDefault statementNoCaseNoDefault; /** */ DeclarationOrStatement declarationOrStatement;
/** */ size_t startIndex; /** */ size_t startIndex;
} }

View File

@ -2166,7 +2166,7 @@ class ClassFour(A, B) if (someTest()) : Super {}}c;
* Parses a ForStatement * Parses a ForStatement
* *
* $(GRAMMAR $(RULEDEF forStatement): * $(GRAMMAR $(RULEDEF forStatement):
* $(LITERAL 'for') $(LITERAL '$(LPAREN)') $(RULE declarationOrStatement) $(RULE expression)? $(LITERAL ';') $(RULE expression)? $(LITERAL '$(RPAREN)') $(RULE statementNoCaseNoDefault) * $(LITERAL 'for') $(LITERAL '$(LPAREN)') $(RULE declarationOrStatement) $(RULE expression)? $(LITERAL ';') $(RULE expression)? $(LITERAL '$(RPAREN)') $(RULE declarationOrStatement)
* ;) * ;)
*/ */
ForStatement parseForStatement() ForStatement parseForStatement()
@ -2180,7 +2180,7 @@ class ClassFour(A, B) if (someTest()) : Super {}}c;
if (currentIs(TokenType.semicolon)) if (currentIs(TokenType.semicolon))
advance(); advance();
else else
node.declarationOrStatement = parseDeclarationOrStatement(); node.initialization = parseDeclarationOrStatement();
if (currentIs(TokenType.semicolon)) if (currentIs(TokenType.semicolon))
advance(); advance();
@ -2196,8 +2196,8 @@ class ClassFour(A, B) if (someTest()) : Super {}}c;
error("Statement expected", false); error("Statement expected", false);
return node; // this line makes DCD better return node; // this line makes DCD better
} }
node.statementNoCaseNoDefault = parseStatementNoCaseNoDefault(); node.declarationOrStatement = parseDeclarationOrStatement();
if (node.statementNoCaseNoDefault is null) return null; if (node.declarationOrStatement is null) return null;
return node; return node;
} }
@ -2205,8 +2205,8 @@ class ClassFour(A, B) if (someTest()) : Super {}}c;
* Parses a ForeachStatement * Parses a ForeachStatement
* *
* $(GRAMMAR $(RULEDEF foreachStatement): * $(GRAMMAR $(RULEDEF foreachStatement):
* ($(LITERAL 'foreach') | $(LITERAL 'foreach_reverse')) $(LITERAL '$(LPAREN)') $(RULE foreachTypeList) $(LITERAL ';') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE statementNoCaseNoDefault) * ($(LITERAL 'foreach') | $(LITERAL 'foreach_reverse')) $(LITERAL '$(LPAREN)') $(RULE foreachTypeList) $(LITERAL ';') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE declarationOrStatement)
* | ($(LITERAL 'foreach') | $(LITERAL 'foreach_reverse')) $(LITERAL '$(LPAREN)') $(RULE foreachType) $(LITERAL ';') $(RULE expression) $(LITERAL '..') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE statementNoCaseNoDefault) * | ($(LITERAL 'foreach') | $(LITERAL 'foreach_reverse')) $(LITERAL '$(LPAREN)') $(RULE foreachType) $(LITERAL ';') $(RULE expression) $(LITERAL '..') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE declarationOrStatement)
* ;) * ;)
*/ */
ForeachStatement parseForeachStatement() ForeachStatement parseForeachStatement()
@ -5948,7 +5948,7 @@ q{doStuff(5)}c;
* Parses a WhileStatement * Parses a WhileStatement
* *
* $(GRAMMAR $(RULEDEF whileStatement): * $(GRAMMAR $(RULEDEF whileStatement):
* $(LITERAL 'while') $(LITERAL '$(LPAREN)') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE statementNoCaseNoDefault) * $(LITERAL 'while') $(LITERAL '$(LPAREN)') $(RULE expression) $(LITERAL '$(RPAREN)') $(RULE declarationOrStatement)
* ;) * ;)
*/ */
WhileStatement parseWhileStatement() WhileStatement parseWhileStatement()
@ -5960,12 +5960,12 @@ q{doStuff(5)}c;
expect(TokenType.lParen); expect(TokenType.lParen);
node.expression = parseExpression(); node.expression = parseExpression();
expect(TokenType.rParen); expect(TokenType.rParen);
if (currentIs(TokenType.rBrace)) if (currentIs(TokenType.rBrace))
{ {
error("Statement expected", false); error("Statement expected", false);
return node; // this line makes DCD better return node; // this line makes DCD better
} }
node.statementNoCaseNoDefault = parseStatementNoCaseNoDefault(); node.declarationOrStatement = parseDeclarationOrStatement();
return node; return node;
} }