Chromium Code Reviews
DescriptionImprove parser error recovery.
For example:
BEFORE:
$ ./sdk/bin/dart2js tests/co19/src/Language/07_Classes/07_Classes_A02_t24.dart
tests/co19/src/Language/07_Classes/07_Classes_A02_t24.dart:51:1:
Error: Expected ';', but got 'EOF'.
^^
Error: Compilation failed.
./sdk/bin/dart2js tests/co19/src/Language/07_Classes/1_Instance_Methods/2_Operators_A02_t06.dart
tests/co19/src/Language/07_Classes/1_Instance_Methods/2_Operators_A02_t06.dart:25:1:
Error: Expected ';', but got 'EOF'.
^^
Error: Compilation failed.
$ ./sdk/bin/dart2js keyword_type_expression_test.dart
keyword_type_expression_test.dart:8:1:
Error: Can't have modifier 'KeywordToken(in)' here.
Try replacing modifier 'KeywordToken(in)' with 'var', 'final', or a type.
in greeting = "fisk"; /// 01: compile-time error
^^
keyword_type_expression_test.dart:11:1:
Error: 'in' is a reserved word and can't be used here.
Try using a different name.
in greeting /// 02: compile-time error
^^
keyword_type_expression_test.dart:11:4:
Error: Expected ')', but got 'greeting'.
in greeting /// 02: compile-time error
^^^^^^^^
Error: Compilation failed.
AFTER (added periods to preserve alignment in Rietveld):
$ ./sdk/bin/dart2js tests/co19/src/Language/07_Classes/07_Classes_A02_t24.dart
tests/co19/src/Language/07_Classes/07_Classes_A02_t24.dart:43:31:
Error: Missing ';'.
..static final v = null, vv = 1
..............................^
Error: Compilation failed.
$ ./sdk/bin/dart2js tests/co19/src/Language/07_Classes/1_Instance_Methods/2_Operators_A02_t06.dart
tests/co19/src/Language/07_Classes/1_Instance_Methods/2_Operators_A02_t06.dart:16:18:
Error: Missing ';'.
..operator =(x) {}
.................^
Error: Compilation failed.
$ ./sdk/bin/dart2js tests/language/keyword_type_expression_test.dart
tests/language/keyword_type_expression_test.dart:8:1:
Error: Can't have modifier 'in' here.
Try replacing modifier 'in' with 'var', 'final', or a type.
in greeting = "fisk"; /// 01: compile-time error
^^
tests/language/keyword_type_expression_test.dart:11:1:
Error: 'in' is a reserved word and can't be used here.
Try using a different name.
in greeting /// 02: compile-time error
^^
Error: Compilation failed.
R=johnniwinther@google.com
Committed: https://code.google.com/p/dart/source/detail?r=37439
Patch Set 1 #
Total comments: 6
Patch Set 2 : Address Johnni's comments, fix issues found with message_kind_test, and tweak message. #Patch Set 3 : Merged with r37359. #
Total comments: 5
Patch Set 4 : Merged with r37437. #Patch Set 5 : Addressed Johnni's comments #Messages
Total messages: 7 (0 generated)
|