Version 2.17.0-269.0.dev
Merge commit '3bbde68c4ee67e616ff98101546c229b39b52e54' into 'dev'
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 78180a7..29a2a01 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -3820,7 +3820,9 @@
}
static Element? _referencedElement(Expression expression) {
- if (expression is PrefixedIdentifier) {
+ if (expression is ParenthesizedExpression) {
+ return _referencedElement(expression.expression);
+ } else if (expression is PrefixedIdentifier) {
return expression.staticElement;
} else if (expression is PropertyAccess) {
return expression.propertyName.staticElement;
diff --git a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
index 973910e..aa935ec 100644
--- a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
@@ -92,6 +92,21 @@
''');
}
+ test_function_nonNullable_blockBody_switchStatement_notNullable_exhaustive_parenthesis() async {
+ await assertNoErrorsInCode(r'''
+enum Foo { a, b }
+
+int f(Foo foo) {
+ switch (foo) {
+ case (Foo.a):
+ return 0;
+ case (Foo.b):
+ return 1;
+ }
+}
+''');
+ }
+
test_function_nonNullable_blockBody_switchStatement_notNullable_notExhaustive() async {
await assertErrorsInCode(r'''
enum Foo { a, b }
diff --git a/tools/VERSION b/tools/VERSION
index 96bb58e..1e186b4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 268
+PRERELEASE 269
PRERELEASE_PATCH 0
\ No newline at end of file