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

Issue 324293002: Improve parser error recovery. (Closed)

Created:
6 years, 6 months ago by ahe
Modified:
6 years, 6 months ago
Reviewers:
Johnni Winther
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Improve 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+299 lines, -47 lines) Patch
M dart/sdk/lib/_internal/compiler/implementation/compiler.dart View 1 2 3 2 chunks +4 lines, -3 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/elements/modelx.dart View 3 chunks +7 lines, -2 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/resolution/signatures.dart View 1 chunk +9 lines, -1 line 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/scanner/class_element_parser.dart View 2 chunks +3 lines, -1 line 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart View 1 2 21 chunks +156 lines, -27 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/scanner/parser.dart View 1 chunk +5 lines, -4 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/scanner/partial_parser.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart View 1 2 3 4 5 chunks +66 lines, -5 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/warnings.dart View 1 4 chunks +30 lines, -2 lines 0 comments Download
M dart/tests/compiler/dart2js/dart_backend_test.dart View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M dart/tests/compiler/dart2js/minify_many_locals_test.dart View 1 2 1 chunk +1 line, -1 line 0 comments Download
A dart/tests/language/keyword_type_expression_test.dart View 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ahe
6 years, 6 months ago (2014-06-11 05:06:06 UTC) #1
Johnni Winther
lgtm https://codereview.chromium.org/324293002/diff/1/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart File dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart (right): https://codereview.chromium.org/324293002/diff/1/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart#newcode770 dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart:770: Link<bool> memberErrors = const Link<bool>(); Add a comment ...
6 years, 6 months ago (2014-06-11 12:14:41 UTC) #2
ahe
Thank you, Johnni. PTAL, I made a few more tweaks. https://codereview.chromium.org/324293002/diff/1/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart File dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart (right): https://codereview.chromium.org/324293002/diff/1/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart#newcode770 ...
6 years, 6 months ago (2014-06-11 17:34:33 UTC) #3
ahe
Ping.
6 years, 6 months ago (2014-06-16 15:52:29 UTC) #4
Johnni Winther
lgtm https://codereview.chromium.org/324293002/diff/60001/dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart File dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart (right): https://codereview.chromium.org/324293002/diff/60001/dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart#newcode566 dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart:566: if (link.head != null) { Add a variable ...
6 years, 6 months ago (2014-06-17 06:13:18 UTC) #5
ahe
Thank you, Johnni! https://codereview.chromium.org/324293002/diff/60001/dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart File dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart (right): https://codereview.chromium.org/324293002/diff/60001/dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart#newcode324 dart/sdk/lib/_internal/compiler/implementation/tree/nodes.dart:324: /// Errorneous expression that behaves as ...
6 years, 6 months ago (2014-06-18 06:52:53 UTC) #6
ahe
6 years, 6 months ago (2014-06-18 07:50:41 UTC) #7
Message was sent while issue was closed.
Committed patchset #5 manually as r37439 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698