[cfe] Remove JumpTarget.parent
Only the 'fileUri' property was used, so we pass it directly instead.
Change-Id: I7b47f18f7ebc2c50036c5202e469caad4ba35897
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/241009
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
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 05ba307..a5fac56 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -773,8 +773,7 @@
}
JumpTarget createJumpTarget(JumpTargetKind kind, int charOffset) {
- return new JumpTarget(
- kind, functionNestingLevel, member as MemberBuilder, charOffset);
+ return new JumpTarget(kind, functionNestingLevel, uri, charOffset);
}
void inferAnnotations(TreeNode? parent, List<Expression>? annotations) {
@@ -6311,8 +6310,8 @@
List<Label>? labels = const FixedNullableList<Label>()
.popNonNullable(stack, labelCount, dummyLabel);
enterLocalScope('labeledStatement', scope.createNestedLabelScope());
- LabelTarget target = new LabelTarget(
- member as MemberBuilder, functionNestingLevel, token.charOffset);
+ LabelTarget target =
+ new LabelTarget(functionNestingLevel, uri, token.charOffset);
if (labels != null) {
for (Label label in labels) {
scope.declareLabel(label.name, target);
@@ -7493,14 +7492,12 @@
final int functionNestingLevel;
- final MemberBuilder parent;
+ final Uri fileUri;
final int charOffset;
JumpTarget(
- this.kind, this.functionNestingLevel, this.parent, this.charOffset);
-
- Uri get fileUri => parent.fileUri!;
+ this.kind, this.functionNestingLevel, this.fileUri, this.charOffset);
bool get isBreakTarget => kind == JumpTargetKind.Break;
@@ -7563,9 +7560,6 @@
}
class LabelTarget implements JumpTarget {
- @override
- final MemberBuilder parent;
-
final JumpTarget breakTarget;
final JumpTarget continueTarget;
@@ -7574,16 +7568,16 @@
final int functionNestingLevel;
@override
- final int charOffset;
-
- LabelTarget(this.parent, this.functionNestingLevel, this.charOffset)
- : breakTarget = new JumpTarget(
- JumpTargetKind.Break, functionNestingLevel, parent, charOffset),
- continueTarget = new JumpTarget(
- JumpTargetKind.Continue, functionNestingLevel, parent, charOffset);
+ final Uri fileUri;
@override
- Uri get fileUri => parent.fileUri!;
+ final int charOffset;
+
+ LabelTarget(this.functionNestingLevel, this.fileUri, this.charOffset)
+ : breakTarget = new JumpTarget(
+ JumpTargetKind.Break, functionNestingLevel, fileUri, charOffset),
+ continueTarget = new JumpTarget(
+ JumpTargetKind.Continue, functionNestingLevel, fileUri, charOffset);
@override
bool get hasUsers => breakTarget.hasUsers || continueTarget.hasUsers;