Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(417)

Unified Diff: compiler/java/com/google/dart/compiler/parser/DartParser.java

Issue 10005040: Using annotations to help with parser recovery (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: # Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: compiler/java/com/google/dart/compiler/parser/DartParser.java
diff --git a/compiler/java/com/google/dart/compiler/parser/DartParser.java b/compiler/java/com/google/dart/compiler/parser/DartParser.java
index 5466d4a26bb939ce4edf3c7f7221fcbf7fd61d69..2d6611da1b9b651a53283303c6cb90cc49d17a93 100644
--- a/compiler/java/com/google/dart/compiler/parser/DartParser.java
+++ b/compiler/java/com/google/dart/compiler/parser/DartParser.java
@@ -253,6 +253,7 @@ public class DartParser extends CompletionHooksParserBase {
* ;
* </pre>
*/
+ @Terminals(tokens={Token.EOS, Token.CLASS})
messick 2012/04/06 17:11:47 INTERFACE?
zundel 2012/04/06 18:30:07 This is an interesting problem. INTERFACE isn't a
public DartUnit parseUnit(DartSource source) {
beginCompilationUnit();
ctx.unitAboutToCompile(source, isDietParse);
@@ -1786,6 +1787,7 @@ public class DartParser extends CompletionHooksParserBase {
* : expression (',' expression)*
* ;
*/
+ @Terminals(tokens={Token.COMMA})
private DartExpression parseExpressionList() {
beginExpressionList();
DartExpression result = parseExpression();
@@ -1916,7 +1918,8 @@ public class DartParser extends CompletionHooksParserBase {
*
* @return a list of expressions containing the arguments to be passed
*/
- private List<DartExpression> parseArguments() {
+ @Terminals(tokens={Token.RPAREN, Token.COMMA})
+ public List<DartExpression> parseArguments() {
List<DartExpression> arguments = new ArrayList<DartExpression>();
expect(Token.LPAREN);
// SEMICOLON is for error recovery

Powered by Google App Engine
This is Rietveld 408576698