[analyzer] Rename AnalysisOptions.hint to AnalysisOptions.warning

Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: I7050b4f758976ff555e43f219c6f5c2b0e8d362a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290903
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analysis_server/lib/src/handler/legacy/analysis_update_options.dart b/pkg/analysis_server/lib/src/handler/legacy/analysis_update_options.dart
index 438ba95..9338b40 100644
--- a/pkg/analysis_server/lib/src/handler/legacy/analysis_update_options.dart
+++ b/pkg/analysis_server/lib/src/handler/legacy/analysis_update_options.dart
@@ -25,7 +25,7 @@
     var generateHints = newOptions.generateHints;
     if (generateHints != null) {
       updaters.add((engine.AnalysisOptionsImpl options) {
-        options.hint = generateHints;
+        options.warning = generateHints;
       });
     }
     var generateLints = newOptions.generateLints;
diff --git a/pkg/analyzer/lib/dart/analysis/analysis_options.dart b/pkg/analyzer/lib/dart/analysis/analysis_options.dart
index ddeab65..f02226a 100644
--- a/pkg/analyzer/lib/dart/analysis/analysis_options.dart
+++ b/pkg/analyzer/lib/dart/analysis/analysis_options.dart
@@ -37,6 +37,7 @@
 
   /// Return `true` if analysis is to generate hint results (e.g. best practices
   /// and analysis based on certain annotations).
+  @Deprecated("Use 'warning' instead")
   bool get hint;
 
   /// Return `true` if analysis is to generate lint warnings.
@@ -50,6 +51,10 @@
   /// there is no `pubspec.yaml` or if it does not contain an SDK range.
   VersionConstraint? get sdkVersionConstraint;
 
+  /// Return `true` if analysis is to generate warning results (e.g. best
+  /// practices and analysis based on certain annotations).
+  bool get warning;
+
   /// Return `true` the lint with the given [name] is enabled.
   bool isLintEnabled(String name);
 }
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 313b3a5..4a69c27 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -260,7 +260,7 @@
       _computeVerifyErrors(file, unit);
     });
 
-    if (_analysisOptions.hint) {
+    if (_analysisOptions.warning) {
       var usedImportedElements = <UsedImportedElements>[];
       var usedLocalElements = <UsedLocalElements>[];
       for (var unit in units.values) {
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index 5035afc..bfb6041 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -851,7 +851,7 @@
     }
 
     if (isThirdParty) {
-      options.hint = false;
+      options.warning = false;
     }
 
     return options;
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index 14a86ab..2517c86 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -198,10 +198,10 @@
   List<String>? _excludePatterns;
 
   @override
-  bool hint = true;
+  bool lint = false;
 
   @override
-  bool lint = false;
+  bool warning = true;
 
   /// The lint rules that are to be run in an analysis context if [lint] returns
   /// `true`.
@@ -266,8 +266,8 @@
     enabledPluginNames = options.enabledPluginNames;
     errorProcessors = options.errorProcessors;
     excludePatterns = options.excludePatterns;
-    hint = options.hint;
     lint = options.lint;
+    warning = options.warning;
     lintRules = options.lintRules;
     if (options is AnalysisOptionsImpl) {
       enableTiming = options.enableTiming;
@@ -311,6 +311,13 @@
   ExperimentStatus get experimentStatus => _contextFeatures;
 
   @override
+  bool get hint => warning;
+
+  /// The implementation-specific setter for [hint].
+  @Deprecated("Use 'warning=' instead")
+  set hint(bool value) => warning = value;
+
+  @override
   List<Linter> get lintRules => _lintRules ??= const <Linter>[];
 
   /// Set the lint rules that are to be run in an analysis context if [lint]
diff --git a/pkg/analyzer/lib/src/lint/analysis.dart b/pkg/analyzer/lib/src/lint/analysis.dart
index 59d8b65..e769145 100644
--- a/pkg/analyzer/lib/src/lint/analysis.dart
+++ b/pkg/analyzer/lib/src/lint/analysis.dart
@@ -39,8 +39,8 @@
     analysisOptions.applyOptions(map);
   }
 
-  analysisOptions.hint = false;
   analysisOptions.lint = options.enableLints;
+  analysisOptions.warning = false;
   analysisOptions.enableTiming = options.enableTiming;
   analysisOptions.lintRules = options.enabledLints.toList(growable: false);
 }
diff --git a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
index f2e65b6..a108113 100644
--- a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
@@ -224,8 +224,8 @@
   ) {
     // TODO(brianwilkerson) Consider moving this to AnalysisOptionsImpl.==.
     expect(actual.enableTiming, expected.enableTiming);
-    expect(actual.hint, expected.hint);
     expect(actual.lint, expected.lint);
+    expect(actual.warning, expected.warning);
     expect(
       actual.lintRules.map((l) => l.name),
       unorderedEquals(expected.lintRules.map((l) => l.name)),