[cfe] Remove BuilderImpl as superclas of JumpTarget

This relation was never used/needed.

Change-Id: I3cc976a807278949072491f0969961ca303225b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235084
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
index 779de84..a9ec81e 100644
--- a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
@@ -1902,15 +1902,6 @@
 }
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-const Code<Null> codeContinueLabelNotTarget = messageContinueLabelNotTarget;
-
-// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-const MessageCode messageContinueLabelNotTarget = const MessageCode(
-    "ContinueLabelNotTarget",
-    analyzerCodes: <String>["LABEL_UNDEFINED"],
-    problemMessage: r"""Target of continue must be a label.""");
-
-// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
 const Code<Null> codeContinueOutsideOfLoop = messageContinueOutsideOfLoop;
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 6ac5cec..5d7f537 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -6596,8 +6596,7 @@
       SwitchCase current = cases[i] = pop() as SwitchCase;
       if (labels != null) {
         for (Label label in labels) {
-          JumpTarget? target =
-              switchScope!.lookupLabel(label.name) as JumpTarget?;
+          JumpTarget? target = switchScope!.lookupLabel(label.name);
           if (target != null) {
             target.resolveGotos(forest, current);
           }
@@ -6656,7 +6655,7 @@
     if (hasTarget) {
       identifier = pop() as Identifier;
       name = identifier.name;
-      target = scope.lookupLabel(name) as JumpTarget?;
+      target = scope.lookupLabel(name);
     }
     if (target == null && name == null) {
       push(problemInLoopOrSwitch = buildProblemStatement(
@@ -6709,15 +6708,7 @@
     if (hasTarget) {
       identifier = pop() as Identifier;
       name = identifier.name;
-      Builder? namedTarget = scope.lookupLabel(identifier.name);
-      if (namedTarget != null && namedTarget is! JumpTarget) {
-        Token labelToken = continueKeyword.next!;
-        push(problemInLoopOrSwitch = buildProblemStatement(
-            fasta.messageContinueLabelNotTarget, labelToken.charOffset,
-            length: labelToken.length));
-        return;
-      }
-      target = namedTarget as JumpTarget?;
+      target = scope.lookupLabel(identifier.name);
       if (target == null) {
         if (switchScope == null) {
           push(buildProblemStatement(
@@ -7527,23 +7518,20 @@
   String toString() => "operator($name)";
 }
 
-class JumpTarget extends BuilderImpl {
+class JumpTarget {
   final List<Statement> users = <Statement>[];
 
   final JumpTargetKind kind;
 
   final int functionNestingLevel;
 
-  @override
   final MemberBuilder parent;
 
-  @override
   final int charOffset;
 
   JumpTarget(
       this.kind, this.functionNestingLevel, this.parent, this.charOffset);
 
-  @override
   Uri get fileUri => parent.fileUri!;
 
   bool get isBreakTarget => kind == JumpTargetKind.Break;
@@ -7603,11 +7591,10 @@
     users.clear();
   }
 
-  @override
   String get fullNameForErrors => "<jump-target>";
 }
 
-class LabelTarget extends BuilderImpl implements JumpTarget {
+class LabelTarget implements JumpTarget {
   @override
   final MemberBuilder parent;
 
diff --git a/pkg/front_end/lib/src/fasta/scope.dart b/pkg/front_end/lib/src/fasta/scope.dart
index c431fd6..300080b 100644
--- a/pkg/front_end/lib/src/fasta/scope.dart
+++ b/pkg/front_end/lib/src/fasta/scope.dart
@@ -469,7 +469,7 @@
     return forwardDeclaredLabels;
   }
 
-  Builder? lookupLabel(String name) {
+  JumpTarget? lookupLabel(String name) {
     return labels?[name] ?? _parent?.lookupLabel(name);
   }
 
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index 1c92e8b..8f83875 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -1153,10 +1153,6 @@
       }
     }
 
-ContinueLabelNotTarget:
-  problemMessage: "Target of continue must be a label."
-  analyzerCode: LABEL_UNDEFINED
-
 ContinueWithoutLabelInCase:
   index: 64
   problemMessage: "A continue statement in a switch statement must have a label as a target."