Version 2.11.0-185.0.dev

Merge commit '090166c79d65c8b9c58a9651f7056c1b380d0442' into 'dev'
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 558ee7d..931cf38 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -630,11 +630,21 @@
       );
     } else if (node is SimpleIdentifier) {
       var resolver = PropertyElementResolver(this);
-      return resolver.resolveSimpleIdentifier(
+      var result = resolver.resolveSimpleIdentifier(
         node: node,
         hasRead: hasRead,
         hasWrite: true,
       );
+
+      if (hasRead && result.readElementRequested == null) {
+        errorReporter.reportErrorForNode(
+          CompileTimeErrorCode.UNDEFINED_IDENTIFIER,
+          node,
+          [node.name],
+        );
+      }
+
+      return result;
     } else {
       node.accept(this);
       return PropertyElementResolverResult();
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
index a173cf5..ef3ec65 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
@@ -28,6 +28,28 @@
     ]);
   }
 
+  test_compoundAssignment_noGetter_hasSetter() async {
+    await assertErrorsInCode('''
+set foo(int _) {}
+
+void f() {
+  foo += 0;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_IDENTIFIER, 32, 3),
+    ]);
+  }
+
+  test_compoundAssignment_noGetter_noSetter() async {
+    await assertErrorsInCode('''
+void f() {
+  foo += 0;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_IDENTIFIER, 13, 3),
+    ]);
+  }
+
   test_for() async {
     await assertErrorsInCode('''
 f(var l) {
@@ -126,6 +148,30 @@
     ]);
   }
 
+  test_postfixExpression_increment_noGetter_hasSetter() async {
+    await assertErrorsInCode('''
+set foo(int _) {}
+
+void f() {
+  foo++;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_IDENTIFIER, 32, 3),
+    ]);
+  }
+
+  test_prefixExpression_increment_noGetter_hasSetter() async {
+    await assertErrorsInCode('''
+set foo(int _) {}
+
+void f() {
+  ++foo;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_IDENTIFIER, 34, 3),
+    ]);
+  }
+
   test_private_getter() async {
     newFile('$testPackageLibPath/lib.dart', content: '''
 library lib;
diff --git a/tools/VERSION b/tools/VERSION
index c38dcce..30c4f2b 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 11
 PATCH 0
-PRERELEASE 184
+PRERELEASE 185
 PRERELEASE_PATCH 0
\ No newline at end of file