[analyzer] don't report `UNUSED_RESULT` for import show/hide

Fixes #50444

Change-Id: I8f45a6735434baf788c4c1c8744b68e14206b29d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269460
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/error/use_result_verifier.dart b/pkg/analyzer/lib/src/error/use_result_verifier.dart
index c9571b8..17be259 100644
--- a/pkg/analyzer/lib/src/error/use_result_verifier.dart
+++ b/pkg/analyzer/lib/src/error/use_result_verifier.dart
@@ -73,6 +73,9 @@
       // Don't flag references in comments.
       return;
     }
+    if (parent is ShowCombinator || parent is HideCombinator) {
+      return;
+    }
 
     var annotation = _getUseResultMetadata(element);
     if (annotation == null) {
diff --git a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
index 8de09d7..7f8a109 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_result_test.dart
@@ -619,6 +619,42 @@
     ]);
   }
 
+  test_import_hide() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+import 'package:meta/meta.dart';
+
+@useResult
+bool foo() => true;
+
+bool bar() => true;
+''');
+
+    await assertNoErrorsInCode(r'''
+import 'a.dart' hide foo;
+
+bool f() {
+  return bar();
+}
+''');
+  }
+
+  test_import_show() async {
+    newFile('$testPackageLibPath/a.dart', r'''
+import 'package:meta/meta.dart';
+
+@useResult
+bool foo() => true;
+''');
+
+    await assertNoErrorsInCode(r'''
+import 'a.dart' show foo;
+
+bool f() {
+  return foo();
+}
+''');
+  }
+
   test_method_result_assertInitializer() async {
     await assertNoErrorsInCode('''
 import 'package:meta/meta.dart';