[cfe] Include offended version number and package name in too high/low version message

Closes #48819

Change-Id: I8700ed909c916b9c656cc8bc0e34eb1dd6ef0c09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/390200
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Johnni Winther
2024-10-16 06:36:21 +00:00
committed by Commit Queue
parent 58cc805980
commit 307e5a62ce
55 changed files with 315 additions and 215 deletions
@@ -11273,59 +11273,151 @@ const MessageCode messageLanguageVersionPatchContext = const MessageCode(
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Template<Message Function(int count, int count2)>
templateLanguageVersionTooHigh =
const Template<Message Function(int count, int count2)>(
"LanguageVersionTooHigh",
const Template<Message Function(int count, int count2, int count3, int count4)>
templateLanguageVersionTooHighExplicit = const Template<
Message Function(int count, int count2, int count3, int count4)>(
"LanguageVersionTooHighExplicit",
problemMessageTemplate:
r"""The specified language version is too high. The highest supported language version is #count.#count2.""",
withArguments: _withArgumentsLanguageVersionTooHigh,
r"""The specified language version #count.#count2 is too high. The highest supported language version is #count3.#count4.""",
withArguments: _withArgumentsLanguageVersionTooHighExplicit,
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<Message Function(int count, int count2)> codeLanguageVersionTooHigh =
const Code<Message Function(int count, int count2)>(
"LanguageVersionTooHigh",
const Code<Message Function(int count, int count2, int count3, int count4)>
codeLanguageVersionTooHighExplicit =
const Code<Message Function(int count, int count2, int count3, int count4)>(
"LanguageVersionTooHighExplicit",
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
Message _withArgumentsLanguageVersionTooHigh(int count, int count2) {
Message _withArgumentsLanguageVersionTooHighExplicit(
int count, int count2, int count3, int count4) {
return new Message(
codeLanguageVersionTooHigh,
codeLanguageVersionTooHighExplicit,
problemMessage:
"""The specified language version is too high. The highest supported language version is ${count}.${count2}.""",
"""The specified language version ${count}.${count2} is too high. The highest supported language version is ${count3}.${count4}.""",
arguments: {
'count': count,
'count2': count2,
'count3': count3,
'count4': count4,
},
);
}
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Template<Message Function(int count, int count2)>
templateLanguageVersionTooLow =
const Template<Message Function(int count, int count2)>(
"LanguageVersionTooLow",
const Template<
Message Function(
int count, int count2, String name, int count3, int count4)>
templateLanguageVersionTooHighPackage = const Template<
Message Function(
int count, int count2, String name, int count3, int count4)>(
"LanguageVersionTooHighPackage",
problemMessageTemplate:
r"""The specified language version is too low. The lowest supported language version is #count.#count2.""",
withArguments: _withArgumentsLanguageVersionTooLow,
r"""The language version #count.#count2 specified for the package '#name' is too high. The highest supported language version is #count3.#count4.""",
withArguments: _withArgumentsLanguageVersionTooHighPackage,
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<Message Function(int count, int count2)> codeLanguageVersionTooLow =
const Code<Message Function(int count, int count2)>(
"LanguageVersionTooLow",
const Code<
Message Function(
int count, int count2, String name, int count3, int count4)>
codeLanguageVersionTooHighPackage = const Code<
Message Function(
int count, int count2, String name, int count3, int count4)>(
"LanguageVersionTooHighPackage",
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
Message _withArgumentsLanguageVersionTooLow(int count, int count2) {
Message _withArgumentsLanguageVersionTooHighPackage(
int count, int count2, String name, int count3, int count4) {
if (name.isEmpty) throw 'No name provided';
name = demangleMixinApplicationName(name);
return new Message(
codeLanguageVersionTooLow,
codeLanguageVersionTooHighPackage,
problemMessage:
"""The specified language version is too low. The lowest supported language version is ${count}.${count2}.""",
"""The language version ${count}.${count2} specified for the package '${name}' is too high. The highest supported language version is ${count3}.${count4}.""",
arguments: {
'count': count,
'count2': count2,
'name': name,
'count3': count3,
'count4': count4,
},
);
}
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Template<Message Function(int count, int count2, int count3, int count4)>
templateLanguageVersionTooLowExplicit = const Template<
Message Function(int count, int count2, int count3, int count4)>(
"LanguageVersionTooLowExplicit",
problemMessageTemplate:
r"""The specified language version #count.#count2 is too low. The lowest supported language version is #count3.#count4.""",
withArguments: _withArgumentsLanguageVersionTooLowExplicit,
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<Message Function(int count, int count2, int count3, int count4)>
codeLanguageVersionTooLowExplicit =
const Code<Message Function(int count, int count2, int count3, int count4)>(
"LanguageVersionTooLowExplicit",
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
Message _withArgumentsLanguageVersionTooLowExplicit(
int count, int count2, int count3, int count4) {
return new Message(
codeLanguageVersionTooLowExplicit,
problemMessage:
"""The specified language version ${count}.${count2} is too low. The lowest supported language version is ${count3}.${count4}.""",
arguments: {
'count': count,
'count2': count2,
'count3': count3,
'count4': count4,
},
);
}
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Template<
Message Function(
int count, int count2, String name, int count3, int count4)>
templateLanguageVersionTooLowPackage = const Template<
Message Function(
int count, int count2, String name, int count3, int count4)>(
"LanguageVersionTooLowPackage",
problemMessageTemplate:
r"""The language version #count.#count2 specified for the package '#name' is too low. The lowest supported language version is #count3.#count4.""",
withArguments: _withArgumentsLanguageVersionTooLowPackage,
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<
Message Function(
int count, int count2, String name, int count3, int count4)>
codeLanguageVersionTooLowPackage = const Code<
Message Function(
int count, int count2, String name, int count3, int count4)>(
"LanguageVersionTooLowPackage",
);
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
Message _withArgumentsLanguageVersionTooLowPackage(
int count, int count2, String name, int count3, int count4) {
if (name.isEmpty) throw 'No name provided';
name = demangleMixinApplicationName(name);
return new Message(
codeLanguageVersionTooLowPackage,
problemMessage:
"""The language version ${count}.${count2} specified for the package '${name}' is too low. The lowest supported language version is ${count3}.${count4}.""",
arguments: {
'count': count,
'count2': count2,
'name': name,
'count3': count3,
'count4': count4,
},
);
}
@@ -351,7 +351,9 @@ class SourceCompilationUnitImpl implements SourceCompilationUnit {
// If trying to set a language version that is higher than the current sdk
// version it's an error.
addPostponedProblem(
templateLanguageVersionTooHigh.withArguments(
templateLanguageVersionTooHighExplicit.withArguments(
version.major,
version.minor,
loader.target.currentSdkVersion.major,
loader.target.currentSdkVersion.minor),
offset,
@@ -363,7 +365,9 @@ class SourceCompilationUnitImpl implements SourceCompilationUnit {
fileUri, offset, length, packageLanguageVersion.version, true);
} else if (version < loader.target.leastSupportedVersion) {
addPostponedProblem(
templateLanguageVersionTooLow.withArguments(
templateLanguageVersionTooLowExplicit.withArguments(
version.major,
version.minor,
loader.target.leastSupportedVersion.major,
loader.target.leastSupportedVersion.minor),
offset,
@@ -550,14 +550,20 @@ class SourceLoader extends Loader {
if (version > target.currentSdkVersion) {
// Coverage-ignore-block(suite): Not run.
packageLanguageVersionProblem =
templateLanguageVersionTooHigh.withArguments(
templateLanguageVersionTooHighPackage.withArguments(
version.major,
version.minor,
packageForLanguageVersion.name,
target.currentSdkVersion.major,
target.currentSdkVersion.minor);
packageLanguageVersion = new InvalidLanguageVersion(
fileUri, 0, noLength, target.currentSdkVersion, false);
} else if (version < target.leastSupportedVersion) {
packageLanguageVersionProblem =
templateLanguageVersionTooLow.withArguments(
templateLanguageVersionTooLowPackage.withArguments(
version.major,
version.minor,
packageForLanguageVersion.name,
target.leastSupportedVersion.major,
target.leastSupportedVersion.minor);
packageLanguageVersion = new InvalidLanguageVersion(
+8 -4
View File
@@ -708,10 +708,14 @@ LanguageVersionMismatchInPart/analyzerCode: Fail
LanguageVersionMismatchInPart/part_wrapped_script: Fail # Part in (now) part.
LanguageVersionMismatchInPatch/analyzerCode: Fail
LanguageVersionMismatchInPatch/example: Fail
LanguageVersionTooHigh/analyzerCode: Fail
LanguageVersionTooHigh/part_wrapped_script: Fail # Content comes after "part of [...]" meaning it's not actually a language version specification.
LanguageVersionTooLow/analyzerCode: Fail
LanguageVersionTooLow/part_wrapped_script: Fail # Content comes after "part of [...]" meaning it's not actually a language version specification.
LanguageVersionTooHighExplicit/analyzerCode: Fail
LanguageVersionTooHighExplicit/part_wrapped_script: Fail # Content comes after "part of [...]" meaning it's not actually a language version specification.
LanguageVersionTooHighPackage/analyzerCode: Fail
LanguageVersionTooHighPackage/example: Fail
LanguageVersionTooLowExplicit/analyzerCode: Fail
LanguageVersionTooLowExplicit/part_wrapped_script: Fail # Content comes after "part of [...]" meaning it's not actually a language version specification.
LanguageVersionTooLowPackage/analyzerCode: Fail
LanguageVersionTooLowPackage/example: Fail
LateDefinitelyAssignedError/analyzerCode: Fail
LateDefinitelyUnassignedError/analyzerCode: Fail
LibraryDirectiveNotFirst/part_wrapped_script1: Fail # Defining library name in the (now) part.
+10 -4
View File
@@ -5369,16 +5369,22 @@ ExtensionTypeCombinedMemberSignatureFailed:
}
extension type C(I3 i) implements I2, I1 {}
LanguageVersionTooHigh:
problemMessage: "The specified language version is too high. The highest supported language version is #count.#count2."
LanguageVersionTooHighExplicit:
problemMessage: "The specified language version #count.#count2 is too high. The highest supported language version is #count3.#count4."
script: >
// @dart = 100.200
LanguageVersionTooLow:
problemMessage: "The specified language version is too low. The lowest supported language version is #count.#count2."
LanguageVersionTooHighPackage:
problemMessage: "The language version #count.#count2 specified for the package '#name' is too high. The highest supported language version is #count3.#count4."
LanguageVersionTooLowExplicit:
problemMessage: "The specified language version #count.#count2 is too low. The lowest supported language version is #count3.#count4."
script: >
// @dart = 2.9
LanguageVersionTooLowPackage:
problemMessage: "The language version #count.#count2 specified for the package '#name' is too low. The lowest supported language version is #count3.#count4."
LanguageVersionInvalidInDotPackages:
problemMessage: "The language version is not specified correctly in the packages file."
exampleAllowMoreCodes: true
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighExplicit*/
// @dart = %TOO_HIGH_VERSION_MARKER%
// If no valid language version is specified, we default to the most recent one.
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighExplicit*/
// @dart = %TOO_HIGH_VERSION_MARKER%
// @dart = %VERSION_MARKER1%
@@ -7,7 +7,7 @@
// range of the sdk. The library stays on the .dart_tool/package_config.json
// specified one (%VERSION_MARKER1%) and an error is issued.
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighExplicit*/
// @dart = %TOO_HIGH_VERSION_MARKER%
/*library: languageVersion=%VERSION_MARKER1%*/
@@ -1,4 +1,4 @@
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighPackage*/
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -1,9 +1,9 @@
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighPackage*/
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighExplicit*/
// @dart = %TOO_HIGH_VERSION_MARKER%
/*library: languageVersion=%CURRENT_VERSION_MARKER%*/
@@ -1,4 +1,4 @@
/*error: errors=LanguageVersionTooHigh*/
/*error: errors=LanguageVersionTooHighPackage*/
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -10,6 +10,7 @@
# automatic tools might move it to the top of the file.
JS
RecordUse
abispecificinteger
abispecificintegermapping
adjusting
@@ -35,6 +36,7 @@ conformance
constructor(s)
core
count.#count
count3.#count
createstaticinteropmock
d
dart.dev
@@ -120,7 +122,6 @@ preexisting
pubspec.yaml
r
re
RecordUse
refutable
resource
sdksummary
@@ -2,7 +2,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
@@ -2,7 +2,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
@@ -2,7 +2,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
@@ -2,7 +2,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
@@ -1,7 +1,7 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -1,7 +1,7 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -1,7 +1,7 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/general/least_supported_version/opt_out/lib/opt_out_lib.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -0,0 +1,12 @@
{
"configVersion": 2,
"packages": [
{
"name": "too_high",
"rootUri": "../too_high/",
"packageUri": "lib/",
"languageVersion": "100.200"
}
]
}
@@ -0,0 +1,5 @@
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:too_high/too_high_lib.dart';
@@ -0,0 +1,11 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.7.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
library;
import self as self;
import "package:too_high/too_high_lib.dart";
@@ -0,0 +1,11 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.7.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
library;
import self as self;
import "package:too_high/too_high_lib.dart";
@@ -0,0 +1,11 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/general/too_high_version/too_high/lib/too_high_lib.dart:1:1: Error: The language version 100.200 specified for the package 'too_high' is too high. The highest supported language version is 3.7.
// // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// ^
//
library;
import self as self;
import "package:too_high/too_high_lib.dart";
@@ -0,0 +1,4 @@
library;
import self as self;
import "package:too_high/too_high_lib.dart";
@@ -0,0 +1 @@
import 'package:too_high/too_high_lib.dart';
@@ -0,0 +1 @@
import 'package:too_high/too_high_lib.dart';
@@ -0,0 +1,5 @@
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
method() {}
@@ -0,0 +1,7 @@
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart=100.200
method() {}
@@ -0,0 +1,11 @@
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.7.
// // @dart=100.200
// ^^^^^^^^^^^^^^^^
//
import self as self;
static method method() → dynamic {}
@@ -0,0 +1,11 @@
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.7.
// // @dart=100.200
// ^^^^^^^^^^^^^^^^
//
import self as self;
static method method() → dynamic {}
@@ -0,0 +1,12 @@
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.7.
// // @dart=100.200
// ^^^^^^^^^^^^^^^^
//
import self as self;
static method method() → dynamic
;
@@ -0,0 +1,11 @@
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/version_too_high.dart:5:1: Error: The specified language version 100.200 is too high. The highest supported language version is 3.7.
// // @dart=100.200
// ^^^^^^^^^^^^^^^^
//
import self as self;
static method method() → dynamic {}
@@ -0,0 +1,3 @@
// @dart = 100.200
method() {}
@@ -0,0 +1,3 @@
// @dart = 100.200
method() {}
@@ -3,7 +3,7 @@ library from "package:bar/bar.dart" as bar {
//
// Problems in library:
//
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The language version 2.8 specified for the package 'bar' is too low. The lowest supported language version is 2.12.
// // This file is in weak mode.
// ^
//
@@ -28,7 +28,7 @@ library from "package:foo/foo.dart" as foo {
//
// Problems in library:
//
// org-dartlang-test:///foo/lib/foo.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///foo/lib/foo.dart:1:1: Error: The language version 2.8 specified for the package 'foo' is too low. The lowest supported language version is 2.12.
// // This file is in weak mode.
// ^
//
@@ -3,7 +3,7 @@ library from "package:bar/bar.dart" as bar {
//
// Problems in library:
//
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The language version 2.8 specified for the package 'bar' is too low. The lowest supported language version is 2.12.
// // This file is in weak mode.
// ^
//
@@ -29,7 +29,7 @@ library from "package:foo/foo.dart" as foo {
//
// Problems in library:
//
// org-dartlang-test:///foo/lib/foo.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///foo/lib/foo.dart:1:1: Error: The language version 2.8 specified for the package 'foo' is too low. The lowest supported language version is 2.12.
// // This file is in weak mode.
// ^
//
@@ -3,7 +3,7 @@ library from "package:bar/bar.dart" as bar {
//
// Problems in library:
//
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///bar/lib/bar.dart:1:1: Error: The language version 2.8 specified for the package 'bar' is too low. The lowest supported language version is 2.12.
// // This file is in weak mode.
// ^
//
@@ -3,7 +3,7 @@ library from "org-dartlang-test:///main.dart" as main {
//
// Problems in library:
//
// org-dartlang-test:///main.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// org-dartlang-test:///main.dart:1:1: Error: The specified language version 2.9 is too low. The lowest supported language version is 2.12.
// // @dart=2.9
// ^^^^^^^^^^^^
//
@@ -1,18 +0,0 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart=2.9
/*@testedFeatures=inference*/
library test;
test(dynamic o) async {
for (var /*@type=dynamic*/ x in o) {}
await for (var /*@type=dynamic*/ x in o) {}
int y;
for (y in o) {}
await for (y in o) {}
}
main() {}
@@ -1,26 +0,0 @@
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/for_each_downcast_iterable.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// // @dart=2.9
// ^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
static method test(dynamic o) → dynamic async /* emittedValueType= dynamic */ {
for (dynamic x in o as{TypeError,ForDynamic} core::Iterable<dynamic>) {
}
await for (dynamic x in o as{TypeError,ForDynamic} asy::Stream<dynamic>) {
}
core::int y;
for (final dynamic #t1 in o as{TypeError,ForDynamic} core::Iterable<dynamic>) {
y = #t1 as{TypeError,ForDynamic} core::int;
}
await for (final dynamic #t2 in o as{TypeError,ForDynamic} asy::Stream<dynamic>) {
y = #t2 as{TypeError,ForDynamic} core::int;
}
}
static method main() → dynamic {}
@@ -1,26 +0,0 @@
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/for_each_downcast_iterable.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// // @dart=2.9
// ^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
static method test(dynamic o) → dynamic async /* emittedValueType= dynamic */ {
for (dynamic x in o as{TypeError,ForDynamic} core::Iterable<dynamic>) {
}
await for (dynamic x in o as{TypeError,ForDynamic} asy::Stream<dynamic>) {
}
core::int y;
for (final dynamic #t1 in o as{TypeError,ForDynamic} core::Iterable<dynamic>) {
y = #t1 as{TypeError,ForDynamic} core::int;
}
await for (final dynamic #t2 in o as{TypeError,ForDynamic} asy::Stream<dynamic>) {
y = #t2 as{TypeError,ForDynamic} core::int;
}
}
static method main() → dynamic {}
@@ -1,14 +0,0 @@
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/for_each_downcast_iterable.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// // @dart=2.9
// ^^^^^^^^^^^^
//
import self as self;
static method test(dynamic o) → dynamic async
;
static method main() → dynamic
;
@@ -1,58 +0,0 @@
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/for_each_downcast_iterable.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// // @dart=2.9
// ^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
static method test(dynamic o) → dynamic async /* emittedValueType= dynamic */ {
{
synthesized core::Iterator<dynamic> :sync-for-iterator = (o as{TypeError,ForDynamic} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
synthesized asy::Stream<dynamic> :stream = o as{TypeError,ForDynamic} asy::Stream<dynamic>;
synthesized asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
try
while (let dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
}
core::int y;
{
synthesized core::Iterator<dynamic> :sync-for-iterator = (o as{TypeError,ForDynamic} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
y = #t2 as{TypeError,ForDynamic} core::int;
}
}
}
{
synthesized asy::Stream<dynamic> :stream = o as{TypeError,ForDynamic} asy::Stream<dynamic>;
synthesized asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
try
while (let dynamic #t3 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
final dynamic #t4 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
y = #t4 as{TypeError,ForDynamic} core::int;
}
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
}
}
static method main() → dynamic {}
@@ -17,7 +17,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -15,7 +15,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -17,7 +17,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -12,7 +12,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -12,7 +12,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -10,7 +10,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -12,7 +12,7 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart = 2.11
// ^^^^^^^^^^^^^^^
//
@@ -1,15 +1,15 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -1,15 +1,15 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -1,15 +1,15 @@
//
// Problems outside component:
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: The specified language version 2.11 is too low. The lowest supported language version is 2.12.
// // @dart=2.11
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib1.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The specified language version is too low. The lowest supported language version is 2.12.
// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_out_package/lib/regular_lib2.dart:1:1: Error: The language version 2.11 specified for the package 'opt_out_package' is too low. The lowest supported language version is 2.12.
// // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// ^
//
@@ -328,6 +328,16 @@ Template compileTemplate(String name, int? index, String? problemMessage,
arguments.add("'$name': count2");
break;
case "count3":
parameters.add("int count3");
arguments.add("'$name': count3");
break;
case "count4":
parameters.add("int count4");
arguments.add("'$name': count4");
break;
case "constant":
parameters.add("Constant _constant");
ensureLabeler();