Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poor recovery parsing incomplete string interpolation #2168

Closed
stevemessick opened this issue Mar 14, 2012 · 16 comments
Closed

Poor recovery parsing incomplete string interpolation #2168

stevemessick opened this issue Mar 14, 2012 · 16 comments
Assignees
Labels
analyzer-recovery area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. closed-duplicate Closed in favor of an existing report P3 A lower priority bug or feature request type-enhancement A request for a change that isn't a bug

Comments

@stevemessick
Copy link
Contributor

While testing code completion in string interpolation I modified a constructor at the beginning of Clock.dart as follows:

  CountDownClock() :
      hours = new List<ClockNumber>(2),
      minutes = new List<ClockNumber>(2),
      seconds = new List<ClockNumber>(2),
      balls = new Balls() {
    createNumbers();
    String s = "${c"; // cursor between 'c' and close quote
    updateTime();
    window.setInterval(f() => updateTime(), 1000);

With the cursor placed as indicated in the comment above, code completion (and general editor operation) runs into problems because the parser throws errors. Inserting a closing brace into the string clears up the problems. Several stack traces are included.

Dart Model Exception: Core Exception [code 0] Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:794)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
Caused by: com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    ... 5 more
Caused by: org.eclipse.core.runtime.CoreException: Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:795)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
Caused by: com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    ... 5 more
!SUBENTRY 1 com.google.dart.tools.core 4 0 2012-03-14 12:20:35.075
!MESSAGE Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
!STACK 0
com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

!ENTRY com.google.dart.tools.ui 4 10001 2012-03-14 12:22:41.875
!MESSAGE Internal Error
!STACK 1
Dart Model Exception: Core Exception [code 0] Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:794)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
Caused by: com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    ... 5 more
Caused by: org.eclipse.core.runtime.CoreException: Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:795)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)
Caused by: com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    ... 5 more
!SUBENTRY 1 com.google.dart.tools.core 4 0 2012-03-14 12:22:41.876
!MESSAGE Failed to parse file:/Users/messick/Eclipse/eclipse-37/samples/clock/Clock.dart
!STACK 0
com.google.dart.compiler.InternalCompilerException: Invariant Broken
    at com.google.dart.compiler.parser.DartParser.parsePrimaryExpression(DartParser.java:2625)
    at com.google.dart.compiler.parser.DartParser.parsePostfixExpression(DartParser.java:2171)
    at com.google.dart.compiler.parser.DartParser.parseUnaryExpression(DartParser.java:3818)
    at com.google.dart.compiler.parser.DartParser.parseBinaryExpression(DartParser.java:1728)
    at com.google.dart.compiler.parser.DartParser.parseConditionalExpression(DartParser.java:1834)
    at com.google.dart.compiler.parser.DartParser.parseExpression(DartParser.java:1648)
    at com.google.dart.compiler.parser.DartParser.parseExpressionStatement(DartParser.java:3230)
    at com.google.dart.compiler.parser.DartParser.parseNonLabelledStatement(DartParser.java:3136)
    at com.google.dart.compiler.parser.DartParser.parseStatement(DartParser.java:3011)
    at com.google.dart.compiler.parser.DartParser.parseBlock(DartParser.java:2826)
    at com.google.dart.compiler.parser.DartParser.parseFunctionStatementBody(DartParser.java:2887)
    at com.google.dart.compiler.parser.DartParser.parseMethod(DartParser.java:1204)
    at com.google.dart.compiler.parser.DartParser.parseMethodOrAccessor(DartParser.java:1236)
    at com.google.dart.compiler.parser.DartParser.parseFieldOrMethod(DartParser.java:982)
    at com.google.dart.compiler.parser.DartParser.parseClass(DartParser.java:639)
    at com.google.dart.compiler.parser.DartParser.parseUnit(DartParser.java:279)
    at com.google.dart.compiler.DartCompiler$Compiler.parse(DartCompiler.java:820)
    at com.google.dart.compiler.DartCompiler$SelectiveCompiler.parse(DartCompiler.java:886)
    at com.google.dart.compiler.DartCompiler$Compiler.parseOutOfDateFiles(DartCompiler.java:259)
    at com.google.dart.compiler.DartCompiler$Compiler.updateAndResolve(DartCompiler.java:199)
    at com.google.dart.compiler.DartCompiler$Compiler.access$4(DartCompiler.java:188)
    at com.google.dart.compiler.DartCompiler.analyzeLibraries(DartCompiler.java:1161)
    at com.google.dart.compiler.DartCompiler.analyzeLibrary(DartCompiler.java:1129)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.secureAnalyzeLibrary(DartCompilerUtilities.java:810)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$ResolverRunnable.run(DartCompilerUtilities.java:466)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities$CompilerRunner.runSafe(DartCompilerUtilities.java:103)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:792)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:774)
    at com.google.dart.tools.core.utilities.compiler.DartCompilerUtilities.resolveUnit(DartCompilerUtilities.java:737)
    at com.google.dart.tools.ui.internal.text.editor.DartEditor.getAST(DartEditor.java:2021)
    at com.google.dart.tools.ui.internal.text.editor.DartTextHover.getHoverInfo(DartTextHover.java:46)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

@kasperl
Copy link

kasperl commented Apr 17, 2012

Removed Area-Compiler label.
Added Area-Analyzer label.

@danrubel
Copy link

danrubel commented Jun 4, 2012

Added this to the M1 milestone.

@DartBot
Copy link

DartBot commented Jun 14, 2012

This comment was originally written by zundel@google.com


Doesn't crash anymore, but doesn't recover either.

main() {
  String s = "${c"; // cursor between 'c' and close quote
  var foo = 1;
  var bar = 2;
}

Fails with 15 errors and ends with unexpected EOS.


Set owner to zundel@google.com.
Added Accepted label.

@DartBot
Copy link

DartBot commented Jun 20, 2012

This comment was originally written by zundel@google.com


I've spent too much time trying to make recovery better here. I'm finding making this case better and not making other cases worse is a significant challenge. Downgrading to low priority.


Removed the owner.
Removed Priority-Medium label.
Added Priority-Low, Triaged labels.

@danrubel
Copy link

Set owner to @bwilkerson.

@bwilkerson
Copy link
Member

Removed this from the M1 milestone.
Added this to the Later milestone.
Changed the title to: "Poor recovery parsing incomplete string interpolation".

@bwilkerson
Copy link
Member

Removed the owner.

@bwilkerson
Copy link
Member

Removed this from the Later milestone.
Added this to the M3 milestone.

@scheglov
Copy link
Contributor

Removed this from the M3 milestone.
Added this to the Later milestone.
Added AnalysisEngine label.

@DartBot
Copy link

DartBot commented Apr 7, 2013

This comment was originally written by amouravski@google.com


Added Editor-AnalysisEngine label.

@bwilkerson
Copy link
Member

Set owner to @bwilkerson.
Removed AnalysisEngine, Editor-AnalysisEngine labels.

@bwilkerson
Copy link
Member

Added Analyzer-Recovery label.

@bwilkerson
Copy link
Member

Removed Type-Defect label.
Added Type-Enhancement label.

@kasperl
Copy link

kasperl commented Jul 10, 2014

Removed this from the Later milestone.
Added Oldschool-Milestone-Later label.

@kasperl
Copy link

kasperl commented Aug 4, 2014

Removed Oldschool-Milestone-Later label.

@bwilkerson
Copy link
Member

Added Duplicate label.
Marked as being merged into #946.

@stevemessick stevemessick added P3 A lower priority bug or feature request area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. analyzer-recovery Type-Enhancement closed-duplicate Closed in favor of an existing report labels Dec 8, 2014
@kevmoo kevmoo added type-enhancement A request for a change that isn't a bug and removed type-enhancement labels Mar 1, 2016
copybara-service bot pushed a commit that referenced this issue Jul 10, 2023
…ctor, browser_launcher, characters, cli_util, clock, collection, convert, crypto, csslib, dartdoc, ecosystem, ffi, fixnum, glob, html, http, http_multi_server, http_parser, json_rpc_2, leak_tracker, lints, logging, markdown, matcher, mime, mockito, native, package_config, path, pool, protobuf, pub_semver, shelf, source_map_stack_trace, source_maps, source_span, sse, stack_trace, stream_channel, string_scanner, term_glyph, test, test_descriptor, test_process, test_reflective_loader, tools, typed_data, usage, watcher, web_socket_channel, webdev, yaml

Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/a9543c0..da56b18):
  da56b18  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#249)

async (https://github.com/dart-lang/async/compare/a506993..b65622a):
  b65622a  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#247)

bazel_worker (https://github.com/dart-lang/bazel_worker/compare/f7b714e..c29d162):
  c29d162  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#77)

benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/e717ad4..fde73cb):
  fde73cb  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#91)

boolean_selector (https://github.com/dart-lang/boolean_selector/compare/3a1c982..303635d):
  303635d  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#49)

browser_launcher (https://github.com/dart-lang/browser_launcher/compare/40e4315..27ec600):
  27ec600  2023-07-05  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#46)
  dd8df9c  2023-07-05  Devon Carew  update formatting for recent lints (#47)

characters (https://github.com/dart-lang/characters/compare/3ef8883..ec844db):
  ec844db  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#84)

cli_util (https://github.com/dart-lang/cli_util/compare/5a49947..9b7ce78):
  9b7ce78  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#84)

clock (https://github.com/dart-lang/clock/compare/21caac1..263e508):
  263e508  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#54)

collection (https://github.com/dart-lang/collection/compare/a37bd51..db343da):
  db343da  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#295)

convert (https://github.com/dart-lang/convert/compare/9a387f0..79ee174):
  79ee174  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#84)

crypto (https://github.com/dart-lang/crypto/compare/216931a..8b704c6):
  8b704c6  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#150)

csslib (https://github.com/dart-lang/csslib/compare/be2e11e..7e91228):
  7e91228  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#187)

dartdoc (https://github.com/dart-lang/dartdoc/compare/c2ed703..2522559):
  25225596  2023-06-29  Sam Rawlins  Migrate some simple tasks to a simple package:args command (#3456)

ecosystem (https://github.com/dart-lang/ecosystem/compare/19fa443..b34db4f):
  b34db4f  2023-07-10  Moritz  Allow empty coverage (#128)
  5944328  2023-07-04  Moritz  Prepare for publish (#127)
  c0701c9  2023-07-04  dependabot[bot]  Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#122)
  9bf3a10  2023-07-03  Moritz  Fix bug by switching `reduce` to `fold` (#126)
  fdfa528  2023-07-01  dependabot[bot]  Bump actions/cache from 3.2.6 to 3.3.1 (#121)
  238444c  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.3.0 to 3.5.3 (#123)
  ca1e1ae  2023-06-30  Moritz  Add coverage workflow (#119)
  cf02b4a  2023-06-30  Lasse R.H. Nielsen  Make Changelog class eagerly load and parse file. (#120)

ffi (https://github.com/dart-lang/ffi/compare/f582ca0..f01dfca):
  f01dfca  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#199)

fixnum (https://github.com/dart-lang/fixnum/compare/d9b9a2a..00fa120):
  00fa120  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#113)

glob (https://github.com/dart-lang/glob/compare/109121d..5b24393):
  5b24393  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#79)

html (https://github.com/dart-lang/html/compare/b3b820b..4060496):
  4060496  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#218)
  8cb99e4  2023-07-01  Devon Carew  address new analysis issues (#219)

http (https://github.com/dart-lang/http/compare/d68081f..c148a3a):
  c148a3a  2023-07-07  Alex James  Java http BaseClient implementation (#980)
  474999f  2023-07-05  Brian Quinlan  Document that the network entitlement is required when running in the macOS sandbox (#979)
  98e4112  2023-07-05  Brian Quinlan  Fix a bug where ...WebSocketClosed had two different initializer signatures (#981)
  9833a20  2023-07-05  Brian Quinlan  Support Steam<List<int>> as a provider of request data (#975)
  d3e78a0  2023-07-01  dependabot[bot]  Bump actions/labeler from 4.0.4 to 4.2.0 (#976)

http_multi_server (https://github.com/dart-lang/http_multi_server/compare/a209cd5..aa128cf):
  aa128cf  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#56)

http_parser (https://github.com/dart-lang/http_parser/compare/19466c0..c14fbf6):
  c14fbf6  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#75)

json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/73467f3..509f71e):
  509f71e  2023-07-05  Nate Bosch  Fix the example to act as a server (#100)
  d80cbd0  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#99)

leak_tracker (https://github.com/dart-lang/leak_tracker/compare/c75b0a7..85bd7fb):
  85bd7fb  2023-07-05  Polina Cherkasova  - (#87)

lints (https://github.com/dart-lang/lints/compare/89f9519..e03dc04):
  e03dc04  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#138)

logging (https://github.com/dart-lang/logging/compare/f2fe2ac..5214987):
  5214987  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#144)

markdown (https://github.com/dart-lang/markdown/compare/4674d09..b4bdde2):
  b4bdde2  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#549)

matcher (https://github.com/dart-lang/matcher/compare/7e10117..ce8f409):
  ce8f409  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#225)

mime (https://github.com/dart-lang/mime/compare/2444840..bdb66bd):
  bdb66bd  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#99)

mockito (https://github.com/dart-lang/mockito/compare/974226e..451f756):
  451f756  2023-07-10  Nate Bosch  Add example of mocking callbacks
  c13496c  2023-07-05  Googler  Rollback of "Use `FunctionTypedElement.type` while generating method overrides"
  60e619a  2023-07-05  Ilya Yanok  Use `FunctionTypedElement.type` while generating method overrides
  93b69ef  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#669)
  a926a63  2023-06-30  Ilya Yanok  Add a note on only running codegen on files under `test/` by default
  9f40189  2023-06-30  Ilya Yanok  Require analyzer 5.12.0

native (https://github.com/dart-lang/native/compare/e12d3e6..de1b0cc):
  de1b0cc  2023-07-10  Daco Harkes  [c_compiler] Pass the correct SDK for iOS simulator builds (#77)
  21d7270  2023-07-01  dependabot[bot]  Bump coverallsapp/github-action from 2.1.2 to 2.2.0 (#72)
  23a9b62  2023-07-01  dependabot[bot]  Bump nttld/setup-ndk (#74)
  44073a8  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#75)
  6f01604  2023-07-01  dependabot[bot]  Bump actions/labeler from 4.0.4 to 4.2.0 (#73)

package_config (https://github.com/dart-lang/package_config/compare/203de20..be0c441):
  be0c441  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#138)

path (https://github.com/dart-lang/path/compare/592505f..282dd18):
  282dd18  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#147)

pool (https://github.com/dart-lang/pool/compare/c6b1b2c..7700102):
  7700102  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#72)

protobuf (https://github.com/dart-lang/protobuf/compare/7bebbc6..a912f76):
  a912f76  2023-07-04  Ömer Sinan Ağacan  Add more message set tests, fix a bug (#859)

pub_semver (https://github.com/dart-lang/pub_semver/compare/3930557..028b435):
  028b435  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#90)

shelf (https://github.com/dart-lang/shelf/compare/ce379aa..bd59ead):
  bd59ead  2023-07-06  Kevin Moore  router_generator: allow latest pkg:analyzer, request Dart 3 (#368)
  bebc801  2023-07-06  Jonas Finnemann Jensen  Fix 244 (#268)
  1617efa  2023-07-02  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#366)
  c037bb6  2023-07-02  dependabot[bot]  Bump actions/labeler from 4.0.4 to 4.2.0 (#365)
  1ae4d4e  2023-07-01  Devon Carew  address a new lint (#367)

source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/b83af01..16e54fd):
  16e54fd  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#40)

source_maps (https://github.com/dart-lang/source_maps/compare/58eef30..97c4833):
  97c4833  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#80)

source_span (https://github.com/dart-lang/source_span/compare/4dc78fb..37735ae):
  37735ae  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#99)

sse (https://github.com/dart-lang/sse/compare/bfcbcd7..e241085):
  e241085  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#85)

stack_trace (https://github.com/dart-lang/stack_trace/compare/8b2046e..4ddd86d):
  4ddd86d  2023-07-05  Slava Egorov  Prepare 1.11.1 release (#137)
  d3e4c4d  2023-07-04  Slava Egorov  Use awaiter-link pragma to guide VM's builtin awaiter stack unwinding (#135)
  44aafa3  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#136)

stream_channel (https://github.com/dart-lang/stream_channel/compare/34804a1..e54234f):
  e54234f  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#93)

string_scanner (https://github.com/dart-lang/string_scanner/compare/6bb314f..35657e2):
  35657e2  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#59)

term_glyph (https://github.com/dart-lang/term_glyph/compare/4daa34e..423700a):
  423700a  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#40)

test (https://github.com/dart-lang/test/compare/021667a..3429712):
  3429712b  2023-07-06  Nate Bosch  Drop usage of window.testRunner (#2059)
  dc6b8236  2023-06-29  dependabot[bot]  Bump actions/checkout from 3.1.0 to 3.5.3 (#2051)
  b6dc3f8d  2023-06-29  dependabot[bot]  Bump dart-lang/setup-dart from 1.3.0 to 1.5.0 (#2052)
  5fa2572f  2023-06-29  Jacob MacDonald  regenerate mono_repo with the latest (#2055)
  56584627  2023-06-29  dependabot[bot]  Bump github/codeql-action from 2.3.5 to 2.20.1 (#2053)
  050fe2d6  2023-06-29  dependabot[bot]  Bump ossf/scorecard-action from 2.1.3 to 2.2.0 (#2054)
  ba6ccfc2  2023-06-29  Devon Carew  config dependabot to send daily PRs for major version bumps (#2050)

test_descriptor (https://github.com/dart-lang/test_descriptor/compare/be7ce07..54a4c59):
  54a4c59  2023-07-03  Devon Carew  update formatting for recent lints (#54)

test_process (https://github.com/dart-lang/test_process/compare/5ff2122..b360784):
  b360784  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#46)

test_reflective_loader (https://github.com/dart-lang/test_reflective_loader/compare/40d61b1..0bfaad9):
  0bfaad9  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#50)

tools (https://github.com/dart-lang/tools/compare/8db0aa1..af38b2b):
  af38b2b  2023-07-02  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#119)
  8b8ccab  2023-07-01  Devon Carew  update formatting based on the recent lints (#121)
  30b50ff  2023-07-01  dependabot[bot]  Bump coverallsapp/github-action from 2.1.2 to 2.2.0 (#118)
  74979c1  2023-07-01  dependabot[bot]  Bump actions/labeler from 4.0.4 to 4.2.0 (#120)

typed_data (https://github.com/dart-lang/typed_data/compare/8d29573..a20be90):
  a20be90  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#69)

usage (https://github.com/dart-lang/usage/compare/6ee0908..09bb847):
  09bb847  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#196)

watcher (https://github.com/dart-lang/watcher/compare/3f17faa..7457413):
  7457413  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#148)

web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/7fb82f2..7ae4d0f):
  7ae4d0f  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#274)

webdev (https://github.com/dart-lang/webdev/compare/8360d50..f0ba743):
  f0ba7438  2023-07-07  Elliott Brooks  Reset webdev to version 3.0.7-wip (#2170)
  2fcc1ba9  2023-07-06  Anna Gringauze  Add option of running frontend server tests in canary mode (#2169)
  632763a5  2023-07-06  Elliott Brooks  Prepare webdev for release to 3.0.6 (#2167)
  fa7b6d44  2023-07-05  dependabot[bot]  Bump actions/checkout from 3.5.0 to 3.5.3 (#2163)
  2a6a457b  2023-07-05  Devon Carew  regenerate from the latest mono_repo (#2165)
  cbb0d76a  2023-07-05  Anna Gringauze  Run instance tests with frontend server (#2160)
  b672e98a  2023-07-05  Elliott Brooks  Reset DWDS after release (#2168)
  8ef92d71  2023-07-05  Elliott Brooks  Prepare DWDS for release to version 19.0.2 (#2166)
  77e5b373  2023-07-05  Elliott Brooks  Handle potential `null` value in `setUpChromeConsoleListeners` (#2162)
  5081dff0  2023-07-01  dependabot[bot]  Bump actions/labeler from 4.0.4 to 4.2.0 (#2164)

yaml (https://github.com/dart-lang/yaml/compare/0b9041d..7930148):
  7930148  2023-07-01  dependabot[bot]  Bump actions/checkout from 3.5.2 to 3.5.3 (#148)

Change-Id: I095a2479946e13d8499f1b3a58dc5a82688063f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzer-recovery area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. closed-duplicate Closed in favor of an existing report P3 A lower priority bug or feature request type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

7 participants