Version 2.19.0-301.0.dev

Merge 0b5d9082210da3c4e588348dfe23b3d495384ffa into dev
diff --git a/DEPS b/DEPS
index 54568e4..cc230fe 100644
--- a/DEPS
+++ b/DEPS
@@ -102,7 +102,7 @@
   "chrome_rev": "19997",
   "cli_util_rev": "b0adbba89442b2ea6fef39c7a82fe79cb31e1168",
   "clock_rev": "97026d1657566bb0c9f5a33642712ec350e45084",
-  "collection_rev": "414ffa1bc8ba18bd608bbf916d95715311d89ac1",
+  "collection_rev": "ca45fc4cb2ec4d6aece51cd8e61c8eed5a207c4e",
   "convert_rev": "f0acc6b1ec7878117117a81ea8212615153ec6c0",
   "crypto_rev": "7cf89d35b3d90786d9f7f75211b3b3cd7e4d173f",
   "csslib_rev": "ba2eb2d80530eedefadaade338a09c2dd60410f3",
@@ -124,19 +124,19 @@
   "ffi_rev": "fb5f2667826c0900e551d19101052f84e35f41bf",
   "file_rev": "b2e31cb6ef40b223701dbfa0b907fe58468484d7",
   "fixnum_rev": "e0b17cc1f639c55a9c24947392c64b5a68992535",
-  "glob_rev": "1d51fcc172e5adfbae6e82c3f8f119774cb2fca2",
+  "glob_rev": "ee812790f4d98587a363e65d5af484ed9c6943f8",
   "html_rev": "0740fc737350959cfdb5f8a34425a29d0dc0d285",
   "http_multi_server_rev": "20bf079c8955d1250a45afb9cb096472a724a551",
   "http_parser_rev": "c73967535ce31120e218120f70ef98cc22688c82",
   "http_rev": "738a55b20e391c5a526b86bf4b02af6b7745b494",
   "icu_rev": "81d656878ec611cb0b42d52c82e9dae93920d9ba",
-  "intl_rev": "7639a1588d2b037230e0ace17ab761c05c91f259",
+  "intl_rev": "dda8ade30e8865843c6650a20a18bbf94387adee",
   "jinja2_rev": "2222b31554f03e62600cd7e383376a7c187967a1",
   "json_rpc_2_rev": "805e6536dd961d66f6b8cd46d8f3e61774f957c9",
   "linter_rev": "f2c55484e8ebda0aec8c2fea637b3bd5b17258ca", # 1.28.0
   "lints_rev": "8294e5648ab49474541527e2911e72e4c5aefe55",
   "logging_rev": "f322480fb9d9e83e677c08db6d09067059f7ff74",
-  "markdown_rev": "f3873403f5b1a0319f78632a8fbc2b22315a7b83",
+  "markdown_rev": "d72ae07c8290b3780044170eda28eda5a9fb342e",
   "markupsafe_rev": "8f45f5cfa0009d2a70589bcda0349b8cb2b72783",
   "matcher_rev": "6a9b83bbd73e50df2058b3e8e4aa301df49569c6",
   "mime_rev": "bf041aa372a27aae6f94e185aa0af3932b9de98b",
@@ -155,12 +155,12 @@
   "source_maps_rev": "e93565b43a7b6b367789de8ffba969c4ebeeb317",
   "source_span_rev": "ff03af16474ce91c89eb3bc28182866f4cb6dfb0",
   "sse_rev": "00084c43684ddaf7e09c19c5364c4a27eb04efda",
-  "stack_trace_rev": "17f09c2c6845bb31c7c385acecce5befb8527a13",
+  "stack_trace_rev": "2194227245513190cc29eebb9f2e4d885cdb0899",
   "stream_channel_rev": "a5129ca44322a7024074ca38fb98e343dcb638c7",
   "string_scanner_rev": "2d84b16d8ae03c3a8c2417b71abe0fe6de7d8bf6",
   "sync_http_rev": "f5c1f18f579752112870fa2f1860470d28c6f605",
   "term_glyph_rev": "ec7cf7bb51ebb7d55760a1359f6697690dbc06ba",
-  "test_descriptor_rev": "f392f85a9804349976be041616ef66925cee8a91",
+  "test_descriptor_rev": "66f14ce9159f425da000ad105e0b890fe396c2b7",
   "test_process_rev": "068f9f83180014dd587a20af0caa9b2c22431141",
   "test_reflective_loader_rev": "ef934b7a894d78601ba67d8f6207bd4505690456",
   "test_rev": "58beb14cf1562429d411efa8926d7c61d0d0b133",
@@ -171,7 +171,7 @@
   "web_components_rev": "8f57dac273412a7172c8ade6f361b407e2e4ed02",
   "web_socket_channel_rev": "4b46c0c4196a5e76c2b0e2589ed37de247d35938",
   "WebCore_rev": "bcb10901266c884e7b3740abc597ab95373ab55c",
-  "webdev_rev": "741695691a7a8d357e404888ebe8d3e614a84e71",
+  "webdev_rev": "69aac60e848c9f6ae18fd8768d508f8eda1872f6",
   "webdriver_rev": "e1a9ad671ee82e05eee463f922a34585ed2d2f15",
   "webkit_inspection_protocol_rev": "b825c8f6a12200d619729903207ac826cce278da",
   "yaml_edit_rev": "01589b3ce447b03aed991db49f1ec6445ad5476d",
diff --git a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
index 2af5b80..bb6f643 100644
--- a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
+++ b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
@@ -78,7 +78,10 @@
     CompileTimeErrorCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT: [
       DataDriven.new,
     ],
-    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS: [
+    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR: [
+      DataDriven.new,
+    ],
+    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR: [
       DataDriven.new,
     ],
     CompileTimeErrorCode.UNDEFINED_CLASS: [
diff --git a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
index 9ffb4db..11938e6 100644
--- a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
+++ b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
@@ -809,7 +809,13 @@
   status: needsEvaluation
 CompileTimeErrorCode.NOT_BINARY_OPERATOR:
   status: needsEvaluation
-CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS:
+CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL:
+  status: needsEvaluation
+CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR:
+  status: hasFix
+CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL:
+  status: needsEvaluation
+CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR:
   status: hasFix
 CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD:
   status: hasFix
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index d110f4f..1542013 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -782,7 +782,10 @@
     CompileTimeErrorCode.NOT_A_TYPE: [
       ImportLibrary.forType,
     ],
-    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS: [
+    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR: [
+      DataDriven.new,
+    ],
+    CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR: [
       DataDriven.new,
     ],
     CompileTimeErrorCode.TYPE_TEST_WITH_UNDEFINED_NAME: [
diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
index d839c56..a0f329b 100644
--- a/pkg/analyzer/lib/error/error.dart
+++ b/pkg/analyzer/lib/error/error.dart
@@ -103,7 +103,9 @@
     assert(
         (arguments ?? const []).length == errorCode.numParameters,
         'Message $errorCode requires ${errorCode.numParameters} '
-        'argument(s), but ${(arguments ?? const []).length} argument(s) were '
+        'argument${errorCode.numParameters == 1 ? '' : 's'}, but '
+        '${(arguments ?? const []).length} '
+        'argument${(arguments ?? const []).length == 1 ? ' was' : 's were'} '
         'provided');
     String problemMessage = formatList(errorCode.problemMessage, arguments);
     String? correctionTemplate = errorCode.correctionMessage;
diff --git a/pkg/analyzer/lib/src/error/codes.g.dart b/pkg/analyzer/lib/src/error/codes.g.dart
index ff61c2e..9eab0ab 100644
--- a/pkg/analyzer/lib/src/error/codes.g.dart
+++ b/pkg/analyzer/lib/src/error/codes.g.dart
@@ -3353,12 +3353,47 @@
   ///  Parameters:
   ///  0: the expected number of required arguments
   ///  1: the actual number of positional arguments given
-  static const CompileTimeErrorCode NOT_ENOUGH_POSITIONAL_ARGUMENTS =
-      CompileTimeErrorCode(
+  ///  2: name of the function or method
+  static const CompileTimeErrorCode
+      NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL = CompileTimeErrorCode(
     'NOT_ENOUGH_POSITIONAL_ARGUMENTS',
-    "{0} positional argument(s) expected, but {1} found.",
+    "{0} positional arguments expected by '{2}', but {1} found.",
     correctionMessage: "Try adding the missing arguments.",
     hasPublishedDocs: true,
+    uniqueName: 'NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL',
+  );
+
+  ///  Parameters:
+  ///  0: name of the function or method
+  static const CompileTimeErrorCode
+      NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR = CompileTimeErrorCode(
+    'NOT_ENOUGH_POSITIONAL_ARGUMENTS',
+    "1 positional argument expected by '{0}', but 0 found.",
+    correctionMessage: "Try adding the missing argument.",
+    hasPublishedDocs: true,
+    uniqueName: 'NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR',
+  );
+
+  ///  Parameters:
+  ///  0: the expected number of required arguments
+  ///  1: the actual number of positional arguments given
+  static const CompileTimeErrorCode NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL =
+      CompileTimeErrorCode(
+    'NOT_ENOUGH_POSITIONAL_ARGUMENTS',
+    "{0} positional arguments expected, but {1} found.",
+    correctionMessage: "Try adding the missing arguments.",
+    hasPublishedDocs: true,
+    uniqueName: 'NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL',
+  );
+
+  ///  No parameters.
+  static const CompileTimeErrorCode NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR =
+      CompileTimeErrorCode(
+    'NOT_ENOUGH_POSITIONAL_ARGUMENTS',
+    "1 positional argument expected, but 0 found.",
+    correctionMessage: "Try adding the missing argument.",
+    hasPublishedDocs: true,
+    uniqueName: 'NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR',
   );
 
   ///  Parameters:
diff --git a/pkg/analyzer/lib/src/error/error_code_values.g.dart b/pkg/analyzer/lib/src/error/error_code_values.g.dart
index a989b00..6371695 100644
--- a/pkg/analyzer/lib/src/error/error_code_values.g.dart
+++ b/pkg/analyzer/lib/src/error/error_code_values.g.dart
@@ -342,7 +342,10 @@
   CompileTimeErrorCode.NOT_ASSIGNED_POTENTIALLY_NON_NULLABLE_LOCAL_VARIABLE,
   CompileTimeErrorCode.NOT_A_TYPE,
   CompileTimeErrorCode.NOT_BINARY_OPERATOR,
-  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS,
+  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL,
+  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL,
+  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD_CONSTRUCTOR,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_VARIABLE,
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 7d5ceb5..5b8dd1e 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -1815,11 +1815,12 @@
               .where((e) => e.isRequiredPositional)
               .length;
           if (requiredParameterCount != 0) {
-            errorReporter.reportErrorForToken(
-              CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS,
-              node.name,
-              [requiredParameterCount, 0],
-            );
+            _reportNotEnoughPositionalArguments(
+                token: node.name,
+                requiredParameterCount: requiredParameterCount,
+                actualArgumentCount: 0,
+                nameNode: node,
+                errorReporter: errorReporter);
           }
         }
       }
@@ -3146,9 +3147,10 @@
     int positionalArgumentCount = 0;
     bool noBlankArguments = true;
     Expression? firstUnresolvedArgument;
+    Expression? lastPositionalArgument;
     for (int i = 0; i < argumentCount; i++) {
       Expression argument = arguments[i];
-      if (argument is! NamedExpressionImpl) {
+      if (argument is! NamedExpression) {
         if (argument is SimpleIdentifier && argument.name.isEmpty) {
           noBlankArguments = false;
         }
@@ -3158,6 +3160,7 @@
         } else {
           firstUnresolvedArgument ??= argument;
         }
+        lastPositionalArgument = argument;
       }
     }
 
@@ -3196,10 +3199,18 @@
     }
 
     if (positionalArgumentCount < requiredParameterCount && noBlankArguments) {
-      errorReporter?.reportErrorForNode(
-          CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS,
-          argumentList,
-          [requiredParameterCount, positionalArgumentCount]);
+      var parent = argumentList.parent;
+      if (errorReporter != null && parent != null) {
+        var token = lastPositionalArgument?.endToken.next ??
+            argumentList.leftParenthesis.next ??
+            argumentList.rightParenthesis;
+        _reportNotEnoughPositionalArguments(
+            token: token,
+            requiredParameterCount: requiredParameterCount,
+            actualArgumentCount: positionalArgumentCount,
+            nameNode: parent,
+            errorReporter: errorReporter);
+      }
     } else if (positionalArgumentCount > unnamedParameterCount &&
         noBlankArguments) {
       ErrorCode errorCode;
@@ -3218,6 +3229,78 @@
     }
     return resolvedParameters;
   }
+
+  /// Report [CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS] or one of
+  /// its derivatives at the specified [token], considering the name of the
+  /// [nameNode].
+  static void _reportNotEnoughPositionalArguments(
+      {required Token token,
+      required int requiredParameterCount,
+      required int actualArgumentCount,
+      required AstNode nameNode,
+      required ErrorReporter errorReporter}) {
+    String? name;
+    if (nameNode is InstanceCreationExpression) {
+      var constructorName = nameNode.constructorName;
+      name =
+          constructorName.name?.name ?? '${constructorName.type.name.name}.new';
+    } else if (nameNode is SuperConstructorInvocation) {
+      name = nameNode.constructorName?.name;
+      if (name == null) {
+        var staticElement = nameNode.staticElement;
+        if (staticElement != null) {
+          name =
+              '${staticElement.returnType.getDisplayString(withNullability: true)}.new';
+        }
+      }
+    } else if (nameNode is MethodInvocation) {
+      name = nameNode.methodName.name;
+    } else if (nameNode is FunctionExpressionInvocation) {
+      var function = nameNode.function;
+      if (function is SimpleIdentifier) {
+        name = function.name;
+      }
+    } else if (nameNode is EnumConstantArguments) {
+      var parent = nameNode.parent;
+      if (parent is EnumConstantDeclaration) {
+        var declaredElement = parent.declaredElement;
+        if (declaredElement is VariableElement) {
+          name = declaredElement.type.getDisplayString(withNullability: true);
+        }
+      }
+    } else if (nameNode is EnumConstantDeclaration) {
+      var declaredElement = nameNode.declaredElement;
+      if (declaredElement is VariableElement) {
+        name = declaredElement.type.getDisplayString(withNullability: true);
+      }
+    } else if (nameNode is Annotation) {
+      var nameNodeName = nameNode.name;
+      name = nameNodeName is PrefixedIdentifier
+          ? nameNodeName.identifier.name
+          : '${nameNodeName.name}.new';
+    } else {
+      throw UnimplementedError('(${nameNode.runtimeType}) $nameNode');
+    }
+
+    var isPlural = requiredParameterCount - actualArgumentCount > 1;
+    var arguments = <Object>[];
+    if (isPlural) {
+      arguments.add(requiredParameterCount);
+      arguments.add(actualArgumentCount);
+    }
+    ErrorCode errorCode;
+    if (name == null) {
+      errorCode = isPlural
+          ? CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL
+          : CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR;
+    } else {
+      errorCode = isPlural
+          ? CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL
+          : CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR;
+      arguments.add(name);
+    }
+    errorReporter.reportErrorForToken(errorCode, token, arguments);
+  }
 }
 
 /// Override of [ResolverVisitorForMigration] that invokes methods of
diff --git a/pkg/analyzer/messages.yaml b/pkg/analyzer/messages.yaml
index 39c228f..d33ed6a 100644
--- a/pkg/analyzer/messages.yaml
+++ b/pkg/analyzer/messages.yaml
@@ -10275,14 +10275,12 @@
       ```dart
       var a = 5 - 3;
       ```
-  NOT_ENOUGH_POSITIONAL_ARGUMENTS:
-    problemMessage: "{0} positional argument(s) expected, but {1} found."
-    correctionMessage: Try adding the missing arguments.
+  NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR:
+    sharedName: NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    problemMessage: "1 positional argument expected, but 0 found."
+    correctionMessage: Try adding the missing argument.
     hasPublishedDocs: true
-    comment: |-
-      Parameters:
-      0: the expected number of required arguments
-      1: the actual number of positional arguments given
+    comment: No parameters.
     documentation: |-
       #### Description
 
@@ -10298,7 +10296,7 @@
       ```dart
       void f(int a, int b) {}
       void g() {
-        f[!(0)!];
+        f(0[!)!];
       }
       ```
 
@@ -10312,6 +10310,33 @@
         f(0, 1);
       }
       ```
+  NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL:
+    sharedName: NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    problemMessage: "{0} positional arguments expected, but {1} found."
+    correctionMessage: Try adding the missing arguments.
+    hasPublishedDocs: true
+    comment: |-
+      Parameters:
+      0: the expected number of required arguments
+      1: the actual number of positional arguments given
+  NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR:
+    sharedName: NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    problemMessage: "1 positional argument expected by '{0}', but 0 found."
+    correctionMessage: Try adding the missing argument.
+    hasPublishedDocs: true
+    comment: |-
+      Parameters:
+      0: name of the function or method
+  NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL:
+    sharedName: NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    problemMessage: "{0} positional arguments expected by '{2}', but {1} found."
+    correctionMessage: Try adding the missing arguments.
+    hasPublishedDocs: true
+    comment: |-
+      Parameters:
+      0: the expected number of required arguments
+      1: the actual number of positional arguments given
+      2: name of the function or method
   NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD:
     problemMessage: "Non-nullable instance field '{0}' must be initialized."
     correctionMessage: "Try adding an initializer expression, or a generative constructor that initializes it, or mark it 'late'."
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/function_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/function_test.dart
index 77f3d6b..3f56554 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/function_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/function_test.dart
@@ -53,7 +53,8 @@
   foo(1);
 }
 ''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 37, 3),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          39, 1),
     ]);
     assertTypeArgumentTypes(
       findNode.methodInvocation('foo('),
diff --git a/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart b/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
index 02d46a3..e3baa70 100644
--- a/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
@@ -50,7 +50,8 @@
 @FfiNative()
 external int foo();
 ''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 30, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          31, 1),
     ]);
   }
 
diff --git a/pkg/analyzer/test/src/diagnostics/not_enough_positional_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/not_enough_positional_arguments_test.dart
index 78a8782..adcad6b 100644
--- a/pkg/analyzer/test/src/diagnostics/not_enough_positional_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_enough_positional_arguments_test.dart
@@ -15,6 +15,53 @@
 
 @reflectiveTest
 class NotEnoughPositionalArgumentsTest extends PubPackageResolutionTest {
+  test_annotation_named() async {
+    await assertErrorsInCode(r'''
+class A {
+  const A.named(int p);
+}
+@A.named()
+void f() {
+}
+''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          45, 1,
+          messageContains: ["expected by 'named'"]),
+    ]);
+  }
+
+  test_annotation_withArgumentList() async {
+    await assertErrorsInCode(r'''
+class A {
+  const A(int p);
+}
+@A()
+void f() {
+}
+''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          33, 1,
+          messageContains: ["expected by 'A.new'"]),
+    ]);
+  }
+
+  test_annotation_withoutArgumentList() async {
+    await assertErrorsInCode(r'''
+class A {
+  const A(int p);
+}
+const a = A();
+@a
+void f() {
+}
+''', [
+      error(CompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, 40, 3),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          42, 1,
+          messageContains: ["expected by 'A.new'"]),
+    ]);
+  }
+
   test_const() async {
     await assertErrorsInCode(r'''
 class A {
@@ -25,7 +72,9 @@
 }
 ''', [
       error(CompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, 41, 9),
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 48, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          49, 1,
+          messageContains: ["expected by 'A.new'"]),
     ]);
   }
 
@@ -39,7 +88,8 @@
 }
 ''', [
       error(CompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, 41, 13),
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 48, 6),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          49, 1),
       error(CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER, 49, 1),
     ]);
   }
@@ -53,7 +103,56 @@
   const B() : super();
 }
 ''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 69, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          70, 1,
+          messageContains: ["expected by 'A.new'"]),
+    ]);
+  }
+
+  test_const_super_named() async {
+    await assertErrorsInCode(r'''
+class A {
+  const A.named(int p);
+}
+class B extends A {
+  const B() : super.named();
+}
+''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          82, 1,
+          messageContains: ["expected by 'named'"]),
+    ]);
+  }
+
+  test_constructor_named() async {
+    await assertErrorsInCode(r'''
+class A {
+  A.named(int x, int y, {int? n});
+}
+
+void f() {
+  A.named(5, n: 1);
+}
+''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          70, 1,
+          messageContains: ["expected by 'named'"]),
+    ]);
+  }
+
+  test_constructor_positionalAndNamed() async {
+    await assertErrorsInCode(r'''
+class A {
+  A(int x, int y, {int? n});
+}
+
+void f() {
+  A(5, n: 1);
+}
+''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          58, 1,
+          messageContains: ["expected by 'A.new'"]),
     ]);
   }
 
@@ -65,7 +164,9 @@
 }
 ''', [
       error(CompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, 11, 3),
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 12, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          13, 1,
+          messageContains: ["expected by 'E'"]),
     ]);
   }
 
@@ -77,16 +178,28 @@
 }
 ''', [
       error(CompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, 11, 1),
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 11, 1),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          11, 1,
+          messageContains: ["expected by 'E'"]),
     ]);
   }
 
-  test_functionExpression() async {
+  test_functionExpression_plural() async {
+    await assertErrorsInCode('''
+main() {
+  (int x, int y) {} ();
+}''', [
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_PLURAL, 30, 1),
+    ]);
+  }
+
+  test_functionExpression_singular() async {
     await assertErrorsInCode('''
 main() {
   (int x) {} ();
 }''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 22, 2),
+      error(
+          CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_SINGULAR, 23, 1),
     ]);
   }
 
@@ -96,7 +209,9 @@
 main() {
   f();
 }''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 34, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_PLURAL,
+          35, 1,
+          messageContains: ["expected by 'f'"]),
     ]);
   }
 
@@ -107,7 +222,9 @@
 main() {
   getter();
 }''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 65, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          66, 1,
+          messageContains: ["expected by 'getter'"]),
     ]);
   }
 
diff --git a/pkg/analyzer/test/src/diagnostics/packed_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/packed_annotation_test.dart
index 88a67db..016d107 100644
--- a/pkg/analyzer/test/src/diagnostics/packed_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/packed_annotation_test.dart
@@ -41,7 +41,8 @@
 }
 ''', [
       error(FfiCode.PACKED_ANNOTATION_ALIGNMENT, 20, 9),
-      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 27, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS_NAME_SINGULAR,
+          28, 1),
     ]);
   }
 
diff --git a/pkg/analyzer/tool/diagnostics/diagnostics.md b/pkg/analyzer/tool/diagnostics/diagnostics.md
index 028dd86..2cdac0d 100644
--- a/pkg/analyzer/tool/diagnostics/diagnostics.md
+++ b/pkg/analyzer/tool/diagnostics/diagnostics.md
@@ -13280,7 +13280,13 @@
 
 ### not_enough_positional_arguments
 
-_{0} positional argument(s) expected, but {1} found._
+_1 positional argument expected by '{0}', but 0 found._
+
+_1 positional argument expected, but 0 found._
+
+_{0} positional arguments expected by '{2}', but {1} found._
+
+_{0} positional arguments expected, but {1} found._
 
 #### Description
 
@@ -13296,7 +13302,7 @@
 {% prettify dart tag=pre+code %}
 void f(int a, int b) {}
 void g() {
-  f[!(0)!];
+  f(0[!)!];
 }
 {% endprettify %}
 
diff --git a/tests/language/argument/not_enough_positional_arguments_test.dart b/tests/language/argument/not_enough_positional_arguments_test.dart
index 9ebd09f..d535ca6 100644
--- a/tests/language/argument/not_enough_positional_arguments_test.dart
+++ b/tests/language/argument/not_enough_positional_arguments_test.dart
@@ -23,8 +23,9 @@
 class C extends A {
   C()
     : super.test(b: 1)
-    //          ^^^^^^
+    //           ^
     // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    //          ^^^^^^
     // [cfe] Too few positional arguments: 1 required, 0 given.
     //           ^
     // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
@@ -39,34 +40,39 @@
 class E extends D {
   E()
     : super.test(b: 1)
-    //          ^^^^^^
+    //           ^
     // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    //          ^^^^^^
     // [cfe] Too few positional arguments: 1 required, 0 given.
   ;
 }
 
 main() {
   new A.test(b: 1);
-  //        ^^^^^^
+  //         ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //        ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //         ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
   new B();
   new C();
   new D.test(b: 1);
-  //        ^^^^^^
+  //         ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //        ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   new E();
   foo(b: 1);
-  // ^^^^^^
+  //  ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  // ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //  ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
   bar(b: 1);
-  // ^^^^^^
+  //  ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  // ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language/call/method_implicit_invoke_local_test.dart b/tests/language/call/method_implicit_invoke_local_test.dart
index 0e15829..3950e1b 100644
--- a/tests/language/call/method_implicit_invoke_local_test.dart
+++ b/tests/language/call/method_implicit_invoke_local_test.dart
@@ -28,8 +28,9 @@
   Expect.equals(d2(1), 2);
   // Cannot invoke with the wrong signature.
   c2();
-  //^^
+  // ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   c2(3, 4);
   //    ^
diff --git a/tests/language/compile_time_constant/arguments_test.dart b/tests/language/compile_time_constant/arguments_test.dart
index 5640876..845239f 100644
--- a/tests/language/compile_time_constant/arguments_test.dart
+++ b/tests/language/compile_time_constant/arguments_test.dart
@@ -11,8 +11,9 @@
 main() {
   const A(1);
   const A();
-  //     ^^
+  //      ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //     ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   const A(1, 2);
   //         ^
diff --git a/tests/language/constructor/bodyless_wrong_arg_test.dart b/tests/language/constructor/bodyless_wrong_arg_test.dart
index 51f16f5..b3560d2 100644
--- a/tests/language/constructor/bodyless_wrong_arg_test.dart
+++ b/tests/language/constructor/bodyless_wrong_arg_test.dart
@@ -11,8 +11,9 @@
   const C(String s)
       // Call super constructor with wrong argument count.
       : super();
-      //     ^^
+      //      ^
       // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+      //     ^^
       // [cfe] Too few positional arguments: 1 required, 0 given.
 }
 
diff --git a/tests/language/constructor/call_wrong_argument_count_test.dart b/tests/language/constructor/call_wrong_argument_count_test.dart
index 4830bcd..bb68d7e 100644
--- a/tests/language/constructor/call_wrong_argument_count_test.dart
+++ b/tests/language/constructor/call_wrong_argument_count_test.dart
@@ -9,7 +9,8 @@
 main() {
   new Stockhorn(1);
   new Stockhorn();
-  //           ^^
+  //            ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //           ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language/constructor/constructor13_test.dart b/tests/language/constructor/constructor13_test.dart
index 24b8841..40158ad 100644
--- a/tests/language/constructor/constructor13_test.dart
+++ b/tests/language/constructor/constructor13_test.dart
@@ -11,8 +11,9 @@
 
 main() {
   new Klass();
-  //       ^^
+  //        ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //       ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   new Klass(1);
   new Klass(1, 2);
diff --git a/tests/language/parameter/bad_named2_test.dart b/tests/language/parameter/bad_named2_test.dart
index 131909b..f63a84c 100644
--- a/tests/language/parameter/bad_named2_test.dart
+++ b/tests/language/parameter/bad_named2_test.dart
@@ -16,8 +16,9 @@
 
   // No formal parameter named b.
   np.foo(b: 25);
-  //    ^^^^^^^
+  //     ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //    ^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //     ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
diff --git a/tests/language/parameter/bad_named_parameters_test.dart b/tests/language/parameter/bad_named_parameters_test.dart
index 79c40c1..6105c19 100644
--- a/tests/language/parameter/bad_named_parameters_test.dart
+++ b/tests/language/parameter/bad_named_parameters_test.dart
@@ -49,7 +49,8 @@
 
   // Too few parameters.
   np.f42(b: 25);
-  //    ^^^^^^^
+  //     ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //    ^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language/parameter/named_aggregated_test.dart b/tests/language/parameter/named_aggregated_test.dart
index 1ed33f2..0760e9f 100644
--- a/tests/language/parameter/named_aggregated_test.dart
+++ b/tests/language/parameter/named_aggregated_test.dart
@@ -50,8 +50,9 @@
 
   // Expect compile-time error due to missing positional argument.
   NamedParametersAggregatedTests.F31(b: 25, c: 35);
-  //                                ^^^^^^^^^^^^^^
+  //                                 ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //                                ^^^^^^^^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 
   new TypeTester<Callback>();
diff --git a/tests/language_2/argument/not_enough_positional_arguments_test.dart b/tests/language_2/argument/not_enough_positional_arguments_test.dart
index 2a0403a..61d3de4 100644
--- a/tests/language_2/argument/not_enough_positional_arguments_test.dart
+++ b/tests/language_2/argument/not_enough_positional_arguments_test.dart
@@ -25,8 +25,9 @@
 class C extends A {
   C()
     : super.test(b: 1)
-    //          ^^^^^^
+    //           ^
     // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    //          ^^^^^^
     // [cfe] Too few positional arguments: 1 required, 0 given.
     //           ^
     // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
@@ -41,34 +42,39 @@
 class E extends D {
   E()
     : super.test(b: 1)
-    //          ^^^^^^
+    //           ^
     // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+    //          ^^^^^^
     // [cfe] Too few positional arguments: 1 required, 0 given.
   ;
 }
 
 main() {
   new A.test(b: 1);
-  //        ^^^^^^
+  //         ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //        ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //         ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
   new B();
   new C();
   new D.test(b: 1);
-  //        ^^^^^^
+  //         ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //        ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   new E();
   foo(b: 1);
-  // ^^^^^^
+  //  ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  // ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //  ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
   bar(b: 1);
-  // ^^^^^^
+  //  ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  // ^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language_2/call/method_implicit_invoke_local_test.dart b/tests/language_2/call/method_implicit_invoke_local_test.dart
index f304eb4..0f5b520 100644
--- a/tests/language_2/call/method_implicit_invoke_local_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_test.dart
@@ -30,8 +30,9 @@
   Expect.equals(d2(1), 2);
   // Cannot invoke with the wrong signature.
   c2();
-  //^^
+  // ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   c2(3, 4);
   //    ^
diff --git a/tests/language_2/compile_time_constant/arguments_test.dart b/tests/language_2/compile_time_constant/arguments_test.dart
index 53083eb..fc30343 100644
--- a/tests/language_2/compile_time_constant/arguments_test.dart
+++ b/tests/language_2/compile_time_constant/arguments_test.dart
@@ -13,8 +13,9 @@
 main() {
   const A(1);
   const A();
-  //     ^^
+  //      ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //     ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   const A(1, 2);
   //         ^
diff --git a/tests/language_2/constructor/bodyless_wrong_arg_test.dart b/tests/language_2/constructor/bodyless_wrong_arg_test.dart
index acbdde1..a286ddb 100644
--- a/tests/language_2/constructor/bodyless_wrong_arg_test.dart
+++ b/tests/language_2/constructor/bodyless_wrong_arg_test.dart
@@ -13,8 +13,9 @@
   const C(String s)
       // Call super constructor with wrong argument count.
       : super();
-      //     ^^
+      //      ^
       // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+      //     ^^
       // [cfe] Too few positional arguments: 1 required, 0 given.
 }
 
diff --git a/tests/language_2/constructor/call_wrong_argument_count_test.dart b/tests/language_2/constructor/call_wrong_argument_count_test.dart
index 1dbb91a..136e68c 100644
--- a/tests/language_2/constructor/call_wrong_argument_count_test.dart
+++ b/tests/language_2/constructor/call_wrong_argument_count_test.dart
@@ -11,7 +11,8 @@
 main() {
   new Stockhorn(1);
   new Stockhorn();
-  //           ^^
+  //            ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //           ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language_2/constructor/constructor13_test.dart b/tests/language_2/constructor/constructor13_test.dart
index b7051ea..59d051a 100644
--- a/tests/language_2/constructor/constructor13_test.dart
+++ b/tests/language_2/constructor/constructor13_test.dart
@@ -13,8 +13,9 @@
 
 main() {
   new Klass();
-  //       ^^
+  //        ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //       ^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   new Klass(1);
   new Klass(1, 2);
diff --git a/tests/language_2/parameter/bad_named2_test.dart b/tests/language_2/parameter/bad_named2_test.dart
index 7198a8a..0a32d4b 100644
--- a/tests/language_2/parameter/bad_named2_test.dart
+++ b/tests/language_2/parameter/bad_named2_test.dart
@@ -18,8 +18,9 @@
 
   // No formal parameter named b.
   np.foo(b: 25);
-  //    ^^^^^^^
+  //     ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //    ^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
   //     ^
   // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_NAMED_PARAMETER
diff --git a/tests/language_2/parameter/bad_named_parameters_test.dart b/tests/language_2/parameter/bad_named_parameters_test.dart
index 94e841b..05c4859 100644
--- a/tests/language_2/parameter/bad_named_parameters_test.dart
+++ b/tests/language_2/parameter/bad_named_parameters_test.dart
@@ -51,7 +51,8 @@
 
   // Too few parameters.
   np.f42(b: 25);
-  //    ^^^^^^^
+  //     ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //    ^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 }
diff --git a/tests/language_2/parameter/named_aggregated_test.dart b/tests/language_2/parameter/named_aggregated_test.dart
index 485af9b..b7150b7 100644
--- a/tests/language_2/parameter/named_aggregated_test.dart
+++ b/tests/language_2/parameter/named_aggregated_test.dart
@@ -52,8 +52,9 @@
 
   // Expect compile-time error due to missing positional argument.
   NamedParametersAggregatedTests.F31(b: 25, c: 35);
-  //                                ^^^^^^^^^^^^^^
+  //                                 ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
+  //                                ^^^^^^^^^^^^^^
   // [cfe] Too few positional arguments: 1 required, 0 given.
 
   new TypeTester<Callback>();
diff --git a/tests/lib/html/js_function_getter_trust_types/compile_test.dart b/tests/lib/html/js_function_getter_trust_types/compile_test.dart
index 29f8669..a9ae402 100644
--- a/tests/lib/html/js_function_getter_trust_types/compile_test.dart
+++ b/tests/lib/html/js_function_getter_trust_types/compile_test.dart
@@ -41,7 +41,7 @@
   foo.bar.add(4);
   //         ^
   // [cfe] Error: Too few positional arguments: 2 required, 1 given.
-  //         ^^^
+  //           ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
 
   foo.bar.add(4, 5, 10);
diff --git a/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart b/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart
index b865351..2498028 100644
--- a/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart
+++ b/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart
@@ -43,7 +43,7 @@
   foo.bar.add(4);
   //         ^
   // [cfe] Error: Too few positional arguments: 2 required, 1 given.
-  //         ^^^
+  //           ^
   // [analyzer] COMPILE_TIME_ERROR.NOT_ENOUGH_POSITIONAL_ARGUMENTS
 
   foo.bar.add(4, 5, 10);
diff --git a/tools/VERSION b/tools/VERSION
index a59830d..a8e6879 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 300
+PRERELEASE 301
 PRERELEASE_PATCH 0