Convert ShadowBreakStatement to BreakJudgment and ContinueJudgment.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I1367c3e809c8008f972e6d246a3acdd6e03f24bc
Reviewed-on: https://dart-review.googlesource.com/61041
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/fangorn.dart b/pkg/front_end/lib/src/fasta/kernel/fangorn.dart
index 11456c9..56c1354 100644
--- a/pkg/front_end/lib/src/fasta/kernel/fangorn.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/fangorn.dart
@@ -73,7 +73,8 @@
         AwaitJudgment,
         ShadowBlock,
         BoolJudgment,
-        ShadowBreakStatement,
+        BreakJudgment,
+        ContinueJudgment,
         CheckLibraryIsLoadedJudgment,
         ConditionalJudgment,
         ShadowDoStatement,
@@ -339,7 +340,7 @@
 
   @override
   Statement breakStatement(Token breakKeyword, Object label, Token semicolon) {
-    return new ShadowBreakStatement(null)..fileOffset = breakKeyword.charOffset;
+    return new BreakJudgment(null)..fileOffset = breakKeyword.charOffset;
   }
 
   @override
@@ -367,8 +368,7 @@
   @override
   Statement continueStatement(
       Token continueKeyword, Object label, Token semicolon) {
-    return new ShadowBreakStatement(null)
-      ..fileOffset = continueKeyword.charOffset;
+    return new ContinueJudgment(null)..fileOffset = continueKeyword.charOffset;
   }
 
   @override
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
index bb5d8f8..8f9a272 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
@@ -66,7 +66,7 @@
     show
         AssertInitializerJudgment,
         AssertStatementJudgment,
-        ShadowBreakStatement,
+        BreakJudgment,
         ShadowCascadeExpression,
         ShadowComplexAssignment,
         ShadowConstructorInvocation,
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index c30762c..109dcf8 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -272,10 +272,21 @@
   }
 }
 
-/// Concrete shadow object representing a break or continue statement in kernel
-/// form.
-class ShadowBreakStatement extends BreakStatement implements StatementJudgment {
-  ShadowBreakStatement(LabeledStatement target) : super(target);
+/// Concrete shadow object representing a break statement in kernel form.
+class BreakJudgment extends BreakStatement implements StatementJudgment {
+  BreakJudgment(LabeledStatement target) : super(target);
+
+  @override
+  void infer<Expression, Statement, Initializer, Type>(
+      ShadowTypeInferrer inferrer,
+      Factory<Expression, Statement, Initializer, Type> factory) {
+    // No inference needs to be done.
+  }
+}
+
+/// Concrete shadow object representing a continue statement in kernel form.
+class ContinueJudgment extends BreakStatement implements StatementJudgment {
+  ContinueJudgment(LabeledStatement target) : super(target);
 
   @override
   void infer<Expression, Statement, Initializer, Type>(