Attention is currently required from: Brian Wilkerson.
Konstantin Shcheglov would like Brian Wilkerson to review this change.
Suppport ForEachPartsWithPattern in NodeReplacer.
Change-Id: I152f3c7b0500db9ad4ca633dd0f4491cea460f53
---
M pkg/analyzer/lib/src/dart/ast/utilities.dart
M pkg/analyzer/test/generated/utilities_test.dart
2 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart
index 57a0bcd..8093d40 100644
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart
@@ -2514,6 +2514,16 @@
}
@override
+ bool? visitForEachPartsWithPattern(ForEachPartsWithPattern node) {
+ if (identical(node.iterable, _oldNode)) {
+ (node as ForEachPartsWithPatternImpl).iterable =
+ _newNode as ExpressionImpl;
+ return true;
+ }
+ return visitNode(node);
+ }
+
+ @override
bool visitForElement(ForElement node) {
if (identical(node.forLoopParts, _oldNode)) {
(node as ForElementImpl).forLoopParts = _newNode as ForLoopPartsImpl;
diff --git a/pkg/analyzer/test/generated/utilities_test.dart b/pkg/analyzer/test/generated/utilities_test.dart
index b81bfa4..729ea55 100644
--- a/pkg/analyzer/test/generated/utilities_test.dart
+++ b/pkg/analyzer/test/generated/utilities_test.dart
@@ -876,6 +876,22 @@
);
}
+ void test_forEachPartsWithPattern() {
+ var findNode = _parseStringToFindNode(r'''
+void f() {
+ for (var (a) in []) {}
+ for (var (b) in []) {}
+}
+''');
+ _assertReplacementForChildren<ForEachPartsWithPattern>(
+ destination: findNode.forEachPartsWithPattern('(a)'),
+ source: findNode.forEachPartsWithPattern('(b)'),
+ childAccessors: [
+ (node) => node.iterable,
+ ],
+ );
+ }
+
void test_forEachStatement_withIdentifier() {
var findNode = _parseStringToFindNode(r'''
void f(int a) {
To view, visit change 281465. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brian Wilkerson.
Attention is currently required from: Konstantin Shcheglov.
Patch set 1:Code-Review +1
Attention is currently required from: Konstantin Shcheglov.
go/dart-cbuild result: SUCCESS
Details: https://goto.google.com/dart-cbuild/find/7eb090154a69a7f800843e81b0f171d93524904b
Attention is currently required from: Konstantin Shcheglov.
Patch set 1:Commit-Queue +2
Commit Queue submitted this change.
Suppport ForEachPartsWithPattern in NodeReplacer.
Change-Id: I152f3c7b0500db9ad4ca633dd0f4491cea460f53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281465
Reviewed-by: Brian Wilkerson <brianwi...@google.com>
Commit-Queue: Konstantin Shcheglov <sche...@google.com>
---
M pkg/analyzer/lib/src/dart/ast/utilities.dart
M pkg/analyzer/test/generated/utilities_test.dart
2 files changed, 38 insertions(+), 0 deletions(-)
To view, visit change 281465. To unsubscribe, or for help writing mail filters, visit settings.
go/dart-cbuild result: SUCCESS
Details: https://goto.google.com/dart-cbuild/find/e86fe85aa4935474abcbde91bd2fa0c29b66b609