[cfe] Pass offset as constructor parameter in new internal ast nodes
Change-Id: Ie69f6a7fc11225e7010d91a146ca20160986e050
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261081
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@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 28504c9..39a047b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -4031,8 +4031,8 @@
push(new InternalRecordLiteral(
positional, named, namedElements, originalElementOrder,
isConst:
- constKeyword != null || constantContext == ConstantContext.inferred)
- ..fileOffset = token.offset);
+ constKeyword != null || constantContext == ConstantContext.inferred,
+ offset: token.offset));
}
void buildLiteralSet(List<TypeBuilder>? typeArguments, Token? constKeyword,
diff --git a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
index f466806..5b1dbd6 100644
--- a/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/internal_ast.dart
@@ -4952,7 +4952,9 @@
InternalRecordLiteral(this.positional, this.named, this.namedElements,
this.originalElementOrder,
- {required this.isConst});
+ {required this.isConst, required int offset}) {
+ fileOffset = offset;
+ }
@override
ExpressionInferenceResult acceptInference(
@@ -5014,7 +5016,9 @@
final DartType typeBinderArgument;
final List<Binder> binders;
- ListBinder(this.typeBinderArgument, this.binders);
+ ListBinder(this.typeBinderArgument, this.binders, {required int offset}) {
+ fileOffset = offset;
+ }
@override
R accept<R>(TreeVisitor<R> visitor) {
@@ -5070,7 +5074,9 @@
class WildcardBinder extends Binder {
final DartType? type;
- WildcardBinder(this.type);
+ WildcardBinder(this.type, {required int offset}) {
+ fileOffset = offset;
+ }
@override
R accept<R>(TreeVisitor<R> visitor) {
@@ -5124,7 +5130,10 @@
final Binder binder;
final Expression initializer;
- PatternVariableDeclaration(this.binder, this.initializer);
+ PatternVariableDeclaration(this.binder, this.initializer,
+ {required int offset}) {
+ fileOffset = offset;
+ }
@override
R accept<R>(StatementVisitor<R> visitor) {
diff --git a/pkg/front_end/test/patterns/desugaring_test.dart b/pkg/front_end/test/patterns/desugaring_test.dart
index 0ffd299..ec60222 100644
--- a/pkg/front_end/test/patterns/desugaring_test.dart
+++ b/pkg/front_end/test/patterns/desugaring_test.dart
@@ -11,8 +11,11 @@
checkExpected(
makeSimpleComponentWithPatternVariableDeclaration(
new PatternVariableDeclaration(
- new ListBinder(const DynamicType(), [new WildcardBinder(null)]),
- new IntLiteral(0))),
+ new ListBinder(const DynamicType(),
+ [new WildcardBinder(null, offset: TreeNode.noOffset)],
+ offset: TreeNode.noOffset),
+ new IntLiteral(0),
+ offset: TreeNode.noOffset)),
makeExpectationOfSimpleComponentWithPatternVariableDeclaration(
"PatternVariableDeclaration"));
}