Issue 52360. Don't attempt to serialize PatternAssignment. Bug: https://github.com/dart-lang/sdk/issues/52360 Change-Id: Iaf6fdbc602bd534147d88882fc39db69c3014585 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/302882 Reviewed-by: Samuel Rawlins <srawlins@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/summary2/not_serializable_nodes.dart b/pkg/analyzer/lib/src/summary2/not_serializable_nodes.dart index b98e883..2c82593 100644 --- a/pkg/analyzer/lib/src/summary2/not_serializable_nodes.dart +++ b/pkg/analyzer/lib/src/summary2/not_serializable_nodes.dart
@@ -42,6 +42,11 @@ } @override + void visitPatternAssignment(PatternAssignment node) { + result = false; + } + + @override void visitSwitchExpression(SwitchExpression node) { result = false; }
diff --git a/pkg/analyzer/test/src/summary/elements_test.dart b/pkg/analyzer/test/src/summary/elements_test.dart index 5ac5789..8bf204a 100644 --- a/pkg/analyzer/test/src/summary/elements_test.dart +++ b/pkg/analyzer/test/src/summary/elements_test.dart
@@ -13499,6 +13499,28 @@ '''); } + test_const_invalid_patternAssignment() async { + var library = await buildLibrary(''' +const v = (a,) = (0,); +'''); + checkElementText(library, r''' +library + definingUnit + topLevelVariables + static const v @6 + type: (int) + shouldUseTypeForInitializerInference: false + constantInitializer + SimpleIdentifier + token: _notSerializableExpression @-1 + staticElement: <null> + staticType: null + accessors + synthetic static get v @-1 + returnType: (int) +'''); + } + test_const_invalid_topLevel() async { var library = await buildLibrary(r''' const v = 1 + foo();