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