[analyzer] Add parameter deprecation support to api.txt.

When I added `deprecated` annotations to `api.txt`, I forgot that
function parameters could be deprecated too. This change fixes the
omission and regenerates `api.txt`.

There is no actual API change.

Change-Id: I27620d9faaa834299a1b7158b66424065e7bfda7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/443634
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt
index d6a383f..f353dc3 100644
--- a/pkg/analyzer/api.txt
+++ b/pkg/analyzer/api.txt
@@ -4434,7 +4434,7 @@
     acceptWithArgument (method: R Function<R, A>(TypeVisitorWithArgument<R, A>, A))
     asInstanceOf (method: InterfaceType? Function(InterfaceElement), experimental)
     asInstanceOf2 (method: InterfaceType? Function(InterfaceElement), deprecated, experimental)
-    getDisplayString (method: String Function({bool withNullability}))
+    getDisplayString (method: String Function({deprecated bool withNullability}))
   DynamicType (class extends Object implements DartType):
     new (constructor: DynamicType Function())
   FunctionType (class extends Object implements DartType):
@@ -4763,8 +4763,8 @@
   buildSdkSummary (function: Future<Uint8List> Function({String? embedderYamlPath, required ResourceProvider resourceProvider, required String sdkPath}))
 package:analyzer/diagnostic/diagnostic.dart:
   Diagnostic (class extends Object):
-    forValues (constructor: Diagnostic Function({List<DiagnosticMessage> contextMessages, String? correctionMessage, Object? data, DiagnosticCode? diagnosticCode, DiagnosticCode? errorCode, required int length, required String message, required int offset, required Source source}))
-    tmp (constructor: Diagnostic Function({List<Object?> arguments, List<DiagnosticMessage> contextMessages, Object? data, DiagnosticCode? diagnosticCode, DiagnosticCode? errorCode, required int length, required int offset, required Source source}))
+    forValues (constructor: Diagnostic Function({List<DiagnosticMessage> contextMessages, String? correctionMessage, Object? data, DiagnosticCode? diagnosticCode, deprecated DiagnosticCode? errorCode, required int length, required String message, required int offset, required Source source}))
+    tmp (constructor: Diagnostic Function({List<Object?> arguments, List<DiagnosticMessage> contextMessages, Object? data, DiagnosticCode? diagnosticCode, deprecated DiagnosticCode? errorCode, required int length, required int offset, required Source source}))
     contextMessages (getter: List<DiagnosticMessage>)
     correction (getter: String?, deprecated)
     correctionMessage (getter: String?)
@@ -4878,7 +4878,7 @@
     atElement2 (method: void Function(Element, DiagnosticCode, {List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data}), experimental)
     atEntity (method: void Function(SyntacticEntity, DiagnosticCode, {List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data}))
     atNode (method: void Function(AstNode, DiagnosticCode, {List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data}))
-    atOffset (method: void Function({List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data, DiagnosticCode? diagnosticCode, DiagnosticCode? errorCode, required int length, required int offset}))
+    atOffset (method: void Function({List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data, DiagnosticCode? diagnosticCode, deprecated DiagnosticCode? errorCode, required int length, required int offset}))
     atSourceSpan (method: void Function(SourceSpan, DiagnosticCode, {List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data}))
     atToken (method: void Function(Token, DiagnosticCode, {List<Object>? arguments, List<DiagnosticMessage>? contextMessages, Object? data}))
     reportError (method: void Function(Diagnostic))
diff --git a/pkg/analyzer_plugin/api.txt b/pkg/analyzer_plugin/api.txt
index 723b419..99172cf 100644
--- a/pkg/analyzer_plugin/api.txt
+++ b/pkg/analyzer_plugin/api.txt
@@ -1628,11 +1628,11 @@
     addAssist (method: void Function(AssistKind, ChangeBuilder, {List<Object>? args}))
 package:analyzer_plugin/utilities/change_builder/change_builder_core.dart:
   ChangeBuilder (class extends Object):
-    new (constructor: ChangeBuilder Function({String? defaultEol, String? eol, AnalysisSession session, ChangeWorkspace workspace}))
+    new (constructor: ChangeBuilder Function({String? defaultEol, deprecated String? eol, AnalysisSession session, ChangeWorkspace workspace}))
     defaultEol (getter: String)
     selectionRange (getter: SourceRange?)
     sourceChange (getter: SourceChange)
-    addDartFileEdit (method: Future<void> Function(String, FutureOr<void> Function(DartFileEditBuilder), {bool createEditsForImports, String Function(Uri) importPrefixGenerator}))
+    addDartFileEdit (method: Future<void> Function(String, FutureOr<void> Function(DartFileEditBuilder), {bool createEditsForImports, deprecated String Function(Uri) importPrefixGenerator}))
     addGenericFileEdit (method: Future<void> Function(String, void Function(FileEditBuilder)))
     addYamlFileEdit (method: Future<void> Function(String, void Function(YamlFileEditBuilder)))
     copy (method: ChangeBuilder Function(), deprecated)
diff --git a/pkg/analyzer_utilities/lib/tool/api.dart b/pkg/analyzer_utilities/lib/tool/api.dart
index 049e5ac..e2d2d7b 100644
--- a/pkg/analyzer_utilities/lib/tool/api.dart
+++ b/pkg/analyzer_utilities/lib/tool/api.dart
@@ -148,13 +148,20 @@
         for (var formalParameter in formalParameters) {
           if (formalParameter.isNamed) {
             namedParams[formalParameter.name!] = [
+              if (formalParameter.isDeprecated) 'deprecated ',
               if (formalParameter.isRequired) 'required ',
               ..._describeType(formalParameter.type),
             ];
           } else if (formalParameter.isOptional) {
-            optionalParams.add(_describeType(formalParameter.type));
+            optionalParams.add([
+              if (formalParameter.isDeprecated) 'deprecated ',
+              ..._describeType(formalParameter.type),
+            ]);
           } else {
-            params.add(_describeType(formalParameter.type));
+            params.add([
+              if (formalParameter.isDeprecated) 'deprecated ',
+              ..._describeType(formalParameter.type),
+            ]);
           }
         }
         if (optionalParams.isNotEmpty) {
@@ -675,6 +682,13 @@
   }
 }
 
+extension on FormalParameterElement {
+  bool get isDeprecated {
+    // TODO(paulberry): add this to the analyzer public API
+    return metadata.hasDeprecated;
+  }
+}
+
 extension on String {
   bool get isPublic => !startsWith('_');
 }