Version 2.10.0-4.0.dev
Merge commit 'cbdd34d1594b7ddc1f22e6e33dd60300ba8985f1' into dev
diff --git a/BUILD.gn b/BUILD.gn
index 2f73ff3..fe0376d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -165,27 +165,20 @@
resource_files = [
".packages",
"pkg/testing/test/hello_test.dart",
- "tools/addlatexhash.dart",
]
resource_dirs = [
- "tests/standalone_2",
+ "tests/standalone",
+ "tests/language_2",
"pkg/async_helper",
"pkg/expect",
"pkg/meta",
- "pkg/native_stack_traces",
"pkg/smith",
"third_party/pkg/args",
"third_party/pkg/async",
- "third_party/pkg/charcode",
"third_party/pkg/collection",
- "third_party/pkg/convert",
- "third_party/pkg/crypto",
- "third_party/pkg/http",
- "third_party/pkg/http_parser",
"third_party/pkg/path",
"third_party/pkg/pool",
"third_party/pkg/stack_trace",
- "third_party/pkg/typed_data",
]
resources = []
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 465ff3e..54a5a2f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,11 +1,18 @@
## 2.10.0
+### Core libraries
+
+#### `dart:typed_data`
+
+* Class `BytesBuilder` is moved from `dart:io` to `dart:typed_data`.
+ It's temporarily being exported from `dart:io` as well.
+
### Dart VM
* Introduces `Dart_FinalizableHandle`s. They do auto-delete, and the weakly
referred object cannot be accessed through them.
-## 2.9.0
+## 2.9.0 - 2020-08-05
### Language
@@ -77,11 +84,6 @@
[#42714]: https://github.com/dart-lang/sdk/issues/42714
-#### `dart:typed_data`
-
-* Class `BytesBuilder` is moved from `dart:io` to `dart:typed_data`.
- It's temporarily being exported from `dart:io` as well.
-
### Tools
#### dartfmt
diff --git a/DEPS b/DEPS
index 9c5288e..042e77d 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
# co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
# hashes. It requires access to the dart-build-access group, which EngProd
# has.
- "co19_rev": "e3d6ccfe8fa278041316f7dc958fdd8c2b447b6c",
+ "co19_rev": "a9bd47e85862b4af9006c24ea0cb626850bc5de7",
"co19_2_rev": "e48b3090826cf40b8037648f19d211e8eab1b4b6",
# The internal benchmarks to use. See go/dart-benchmarks-internal
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 2db2871..3e06c16 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -377,7 +377,7 @@
# configs -= [ "//build/config/compiler:clang_stackrealign" ]
# See https://crbug.com/556393 for details of where it must be avoided.
config("clang_stackrealign") {
- if (is_clang && current_cpu == "x86" && !is_nacl) {
+ if (is_clang && current_cpu == "x86" && !is_nacl && !is_win) {
cflags = [
# Align the stack on 16-byte boundaries, http://crbug.com/418554.
"-mstack-alignment=16",
@@ -516,14 +516,14 @@
if (is_clang) {
default_warning_flags += [
- "-Wno-deprecated-declarations", # crashpad
- "-Wno-ignored-pragma-optimize", # icu, double-conversion
- "-Wno-implicit-int-float-conversion", # icu
+ "-Wno-deprecated-declarations", # crashpad
+ "-Wno-ignored-pragma-optimize", # icu, double-conversion
+ "-Wno-implicit-int-float-conversion", # icu
"-Wno-macro-redefined",
"-Wno-microsoft-cast",
"-Wno-microsoft-unqualified-friend",
- "-Wno-unknown-argument", # icu
- "-Wno-unused-value", # crashpad
+ "-Wno-unknown-argument", # icu
+ "-Wno-unused-value", # crashpad
]
} else {
default_warning_flags += [
diff --git a/build/dart/dart_action.gni b/build/dart/dart_action.gni
index 2058f033..c357aad 100644
--- a/build/dart/dart_action.gni
+++ b/build/dart/dart_action.gni
@@ -288,6 +288,10 @@
# script:
# The un-rebased path to the Dart script.
#
+# dfe (optional):
+# Sets the DFE file used by Dart. If not set the VM will attempt to load it
+# from a snapshot, or fall back on its built-in kernel.
+#
# vm_args (optional):
# Arguments to pass to the Dart VM.
#
@@ -323,6 +327,17 @@
"visibility",
"vm_args",
])
+
+ # Dart has an implicit dependency on the kernel service so unless DFE is
+ # passed, we need to add this dep.
+ if (defined(invoker.dfe)) {
+ vm_args += [ "--dfe=" + rebase_path(invoker.dfe) ]
+ } else {
+ if (!defined(invoker.deps)) {
+ deps = []
+ }
+ deps += [ "$_dart_root/utils/kernel-service:kernel-service" ]
+ }
}
} else {
prebuilt_dart_action(target_name) {
diff --git a/build/fuchsia/dart.cmx b/build/fuchsia/dart.cmx
index f8f5750..b4546c1 100644
--- a/build/fuchsia/dart.cmx
+++ b/build/fuchsia/dart.cmx
@@ -8,8 +8,7 @@
"deprecated-ambient-replace-as-executable",
"root-ssl-certificates",
"isolated-cache-storage",
- "isolated-persistent-storage",
- "isolated-temp"
+ "isolated-persistent-storage"
],
"services": [
"fuchsia.deprecatedtimezone.Timezone",
diff --git a/pkg/_fe_analyzer_shared/test/constants/data/function.dart b/pkg/_fe_analyzer_shared/test/constants/data/function.dart
index 7cc9119..296f250 100644
--- a/pkg/_fe_analyzer_shared/test/constants/data/function.dart
+++ b/pkg/_fe_analyzer_shared/test/constants/data/function.dart
@@ -16,16 +16,16 @@
main() {
print(
/*cfe|dart2js.Function(method1)*/
- /*analyzer.Function(method1,type=T Function<T>(T))*/
+ /*analyzer.Function(method1,type=T* Function<T>(T*)*)*/
function0);
print(
/*cfe.Instantiation(method1<int>)*/
/*dart2js.Instantiation(method1<int*>)*/
- /*analyzer.Function(method1,type=int Function(int))*/
+ /*analyzer.Function(method1,type=int* Function(int*)*)*/
instantiation0);
print(
/*cfe.Instantiation(method2<String,int>)*/
/*dart2js.Instantiation(method2<String*,int*>)*/
- /*analyzer.Function(method2,type=Map<String, int> Function(String, int))*/
+ /*analyzer.Function(method2,type=Map<String*, int*>* Function(String*, int*)*)*/
instantiation1);
}
diff --git a/pkg/_fe_analyzer_shared/test/constants/data/list.dart b/pkg/_fe_analyzer_shared/test/constants/data/list.dart
index 50f3caa..b31cfb5 100644
--- a/pkg/_fe_analyzer_shared/test/constants/data/list.dart
+++ b/pkg/_fe_analyzer_shared/test/constants/data/list.dart
@@ -15,13 +15,13 @@
const list4 = /*cfe.List<int>(Int(42),Int(87))*/ [42, 87];
main() {
- print(/*List<dynamic>()*/ list0);
+ print(/*analyzer.List<dynamic>*()*/ /*cfe|dart2js.List<dynamic>()*/ list0);
print(
- /*cfe|analyzer.List<int>()*/ /*dart2js.List<int*>()*/ list1);
+ /*analyzer.List<int*>*()*/ /*cfe.List<int>()*/ /*dart2js.List<int*>()*/ list1);
print(
- /*cfe|analyzer.List<int>()*/ /*dart2js.List<int*>()*/ list2);
+ /*analyzer.List<int*>*()*/ /*cfe.List<int>()*/ /*dart2js.List<int*>()*/ list2);
print(
- /*cfe|analyzer.List<int>(Int(42))*/ /*dart2js.List<int*>(Int(42))*/ list3);
+ /*analyzer.List<int*>*(Int(42))*/ /*cfe.List<int>(Int(42))*/ /*dart2js.List<int*>(Int(42))*/ list3);
print(
- /*cfe|analyzer.List<int>(Int(42),Int(87))*/ /*dart2js.List<int*>(Int(42),Int(87))*/ list4);
+ /*analyzer.List<int*>*(Int(42),Int(87))*/ /*cfe.List<int>(Int(42),Int(87))*/ /*dart2js.List<int*>(Int(42),Int(87))*/ list4);
}
diff --git a/pkg/_fe_analyzer_shared/test/constants/data/map.dart b/pkg/_fe_analyzer_shared/test/constants/data/map.dart
index 1f96470..c9aafc63 100644
--- a/pkg/_fe_analyzer_shared/test/constants/data/map.dart
+++ b/pkg/_fe_analyzer_shared/test/constants/data/map.dart
@@ -16,13 +16,14 @@
{'foo': 42, 'bar': 87};
main() {
- print(/*Map<dynamic,dynamic>()*/ map0);
print(
- /*cfe|analyzer.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map1);
+ /*analyzer.Map<dynamic, dynamic>*()*/ /*cfe|dart2js.Map<dynamic,dynamic>()*/ map0);
print(
- /*cfe|analyzer.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map2);
+ /*analyzer.Map<String*, int*>*()*/ /*cfe.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map1);
print(
- /*cfe|analyzer.Map<String,int>(String(foo):Int(42))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42))*/ map3);
+ /*analyzer.Map<String*, int*>*()*/ /*cfe.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map2);
print(
- /*cfe|analyzer.Map<String,int>(String(foo):Int(42),String(bar):Int(87))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42),String(bar):Int(87))*/ map4);
+ /*analyzer.Map<String*, int*>*(String(foo):Int(42))*/ /*cfe.Map<String,int>(String(foo):Int(42))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42))*/ map3);
+ print(
+ /*analyzer.Map<String*, int*>*(String(foo):Int(42),String(bar):Int(87))*/ /*cfe.Map<String,int>(String(foo):Int(42),String(bar):Int(87))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42),String(bar):Int(87))*/ map4);
}
diff --git a/pkg/_fe_analyzer_shared/test/constants/data/set.dart b/pkg/_fe_analyzer_shared/test/constants/data/set.dart
index e512e8a..5b4a84d 100644
--- a/pkg/_fe_analyzer_shared/test/constants/data/set.dart
+++ b/pkg/_fe_analyzer_shared/test/constants/data/set.dart
@@ -20,13 +20,13 @@
const set4 = /*cfe.Set<int>(Int(42),Int(87))*/ {42, 87};
main() {
- print(/*Set<dynamic>()*/ set0);
+ print(/*analyzer.Set<dynamic>*()*/ /*cfe|dart2js.Set<dynamic>()*/ set0);
print(
- /*cfe|analyzer.Set<int>()*/ /*dart2js.Set<int*>()*/ set1);
+ /*analyzer.Set<int*>*()*/ /*cfe.Set<int>()*/ /*dart2js.Set<int*>()*/ set1);
print(
- /*cfe|analyzer.Set<int>()*/ /*dart2js.Set<int*>()*/ set2);
+ /*analyzer.Set<int*>*()*/ /*cfe.Set<int>()*/ /*dart2js.Set<int*>()*/ set2);
print(
- /*cfe|analyzer.Set<int>(Int(42))*/ /*dart2js.Set<int*>(Int(42))*/ set3);
+ /*analyzer.Set<int*>*(Int(42))*/ /*cfe.Set<int>(Int(42))*/ /*dart2js.Set<int*>(Int(42))*/ set3);
print(
- /*cfe|analyzer.Set<int>(Int(42),Int(87))*/ /*dart2js.Set<int*>(Int(42),Int(87))*/ set4);
+ /*analyzer.Set<int*>*(Int(42),Int(87))*/ /*cfe.Set<int>(Int(42),Int(87))*/ /*dart2js.Set<int*>(Int(42),Int(87))*/ set4);
}
diff --git a/pkg/_fe_analyzer_shared/test/constants/data/type_literals.dart b/pkg/_fe_analyzer_shared/test/constants/data/type_literals.dart
index f729673..7d003ae 100644
--- a/pkg/_fe_analyzer_shared/test/constants/data/type_literals.dart
+++ b/pkg/_fe_analyzer_shared/test/constants/data/type_literals.dart
@@ -21,31 +21,37 @@
main() {
print(
- /*cfe|analyzer.TypeLiteral(dynamic Function())*/
+ /*analyzer.TypeLiteral(dynamic Function()*)*/
+ /*cfe.TypeLiteral(dynamic Function())*/
/*dart2js.TypeLiteral(()->dynamic)*/
typedef);
print(
- /*cfe|analyzer.TypeLiteral(void Function(dynamic))*/
+ /*analyzer.TypeLiteral(void Function(dynamic)*)*/
+ /*cfe.TypeLiteral(void Function(dynamic))*/
/*dart2js.TypeLiteral((dynamic)->void)*/
genericTypedef);
print(
- /*cfe|analyzer.TypeLiteral(void Function<T>(T))*/
+ /*analyzer.TypeLiteral(void Function<T>(T*)*)*/
+ /*cfe.TypeLiteral(void Function<T>(T))*/
/*dart2js.TypeLiteral((0)->void)*/
genericFunctionTypedef);
print(
- /*cfe|analyzer.TypeLiteral(void Function<T>(FutureOr<T>))*/
+ /*analyzer.TypeLiteral(void Function<T>(FutureOr<T*>*)*)*/
+ /*cfe.TypeLiteral(void Function<T>(FutureOr<T>))*/
/*dart2js.TypeLiteral((FutureOr<0>)->void)*/
typedefWithFutureOr);
print(
- /*cfe|analyzer.TypeLiteral(FutureOr<dynamic>)*/
+ /*analyzer.TypeLiteral(FutureOr<dynamic>*)*/
+ /*cfe.TypeLiteral(FutureOr<dynamic>)*/
/*dart2js.TypeLiteral(dynamic)*/
futureOr);
print(
- /*TypeLiteral(Null)*/
+ /*analyzer.TypeLiteral(Null*)*/
+ /*cfe|dart2js.TypeLiteral(Null)*/
null_);
}
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index 6e075f6..d4ce68a1 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -470,13 +470,14 @@
MulticastInstrumentationService(allInstrumentationServices);
instrumentationService.logVersion(
- results[TRAIN_USING] != null
- ? 'training-0'
- : _readUuid(instrumentationService),
- analysisServerOptions.clientId,
- analysisServerOptions.clientVersion,
- PROTOCOL_VERSION,
- defaultSdk.sdkVersion);
+ results[TRAIN_USING] != null
+ ? 'training-0'
+ : _readUuid(instrumentationService),
+ analysisServerOptions.clientId,
+ analysisServerOptions.clientVersion,
+ PROTOCOL_VERSION,
+ defaultSdk.languageVersion.toString(),
+ );
AnalysisEngine.instance.instrumentationService = instrumentationService;
int diagnosticServerPort;
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
index 001ef8d..c2b2573 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
@@ -105,8 +105,12 @@
if (extendedType != null && typeSystem.isSubtypeOf(type, extendedType)) {
double inheritanceDistance;
if (memberBuilder.request.useNewRelevance) {
- inheritanceDistance = memberBuilder.request.featureComputer
- .inheritanceDistanceFeature(type.element, extendedType.element);
+ if (type is InterfaceType && extendedType is InterfaceType) {
+ inheritanceDistance = memberBuilder.request.featureComputer
+ .inheritanceDistanceFeature(type.element, extendedType.element);
+ } else {
+ inheritanceDistance = -1;
+ }
}
// TODO(brianwilkerson) We might want to apply the substitution to the
// members of the extension for display purposes.
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 1ecf7f5..f1c93bf 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
@@ -9,7 +9,10 @@
import 'package:analysis_server/src/services/correction/change_workspace.dart';
import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
import 'package:analysis_server/src/services/correction/dart/add_override.dart';
+import 'package:analysis_server/src/services/correction/dart/convert_add_all_to_spread.dart';
+import 'package:analysis_server/src/services/correction/dart/convert_conditional_expression_to_if_element.dart';
import 'package:analysis_server/src/services/correction/dart/convert_documentation_into_line.dart';
+import 'package:analysis_server/src/services/correction/dart/convert_quotes.dart';
import 'package:analysis_server/src/services/correction/dart/convert_to_contains.dart';
import 'package:analysis_server/src/services/correction/dart/create_method.dart';
import 'package:analysis_server/src/services/correction/dart/remove_argument.dart';
@@ -27,8 +30,11 @@
import 'package:analysis_server/src/services/correction/dart/replace_cascade_with_dot.dart';
import 'package:analysis_server/src/services/correction/dart/replace_colon_with_equals.dart';
import 'package:analysis_server/src/services/correction/dart/replace_null_with_closure.dart';
+import 'package:analysis_server/src/services/correction/dart/replace_with_conditional_assignment.dart';
+import 'package:analysis_server/src/services/correction/dart/replace_with_is_empty.dart';
import 'package:analysis_server/src/services/correction/dart/replace_with_var.dart';
import 'package:analysis_server/src/services/correction/dart/use_curly_braces.dart';
+import 'package:analysis_server/src/services/correction/dart/use_is_not_empty.dart';
import 'package:analysis_server/src/services/correction/fix.dart';
import 'package:analysis_server/src/services/correction/fix_internal.dart';
import 'package:analysis_server/src/services/linter/lint_names.dart';
@@ -64,9 +70,17 @@
LintNames.null_closures: ReplaceNullWithClosure.newInstance,
LintNames.omit_local_variable_types: ReplaceWithVar.newInstance,
LintNames.prefer_adjacent_string_concatenation: RemoveOperator.newInstance,
+ LintNames.prefer_conditional_assignment:
+ ReplaceWithConditionalAssignment.newInstance,
LintNames.prefer_contains: ConvertToContains.newInstance,
LintNames.prefer_equal_for_default_values:
ReplaceColonWithEquals.newInstance,
+ LintNames.prefer_if_elements_to_conditional_expressions:
+ ConvertConditionalExpressionToIfElement.newInstance,
+ LintNames.prefer_is_empty: ReplaceWithIsEmpty.newInstance,
+ LintNames.prefer_is_not_empty: UesIsNotEmpty.newInstance,
+ LintNames.prefer_single_quotes: ConvertToSingleQuotes.newInstance,
+ LintNames.prefer_spread_collections: ConvertAddAllToSpread.newInstance,
LintNames.slash_for_doc_comments: ConvertDocumentationIntoLine.newInstance,
LintNames.unnecessary_const: RemoveUnnecessaryConst.newInstance,
LintNames.unnecessary_new: RemoveUnnecessaryNew.newInstance,
diff --git a/pkg/analysis_server/test/context_manager_test.dart b/pkg/analysis_server/test/context_manager_test.dart
index 59af0c1..b7fbb8b 100644
--- a/pkg/analysis_server/test/context_manager_test.dart
+++ b/pkg/analysis_server/test/context_manager_test.dart
@@ -1591,7 +1591,7 @@
resourceProvider.newFolder(projPath);
// Create an SDK in the mock file system.
MockSdk(resourceProvider: resourceProvider);
- var sdkManager = DartSdkManager(convertPath('/sdk'));
+ var sdkManager = DartSdkManager(convertPath(sdkRoot));
manager = ContextManagerImpl(
resourceProvider,
sdkManager,
diff --git a/pkg/analysis_server/test/integration/analysis/get_errors_non_standard_sdk_test.dart b/pkg/analysis_server/test/integration/analysis/get_errors_non_standard_sdk_test.dart
index 11cf543..f1fd49a 100644
--- a/pkg/analysis_server/test/integration/analysis/get_errors_non_standard_sdk_test.dart
+++ b/pkg/analysis_server/test/integration/analysis/get_errors_non_standard_sdk_test.dart
@@ -29,6 +29,8 @@
Directory(path.join(sdkPath, 'lib', 'async')).createSync(recursive: true);
Directory(path.join(sdkPath, 'lib', 'fake')).createSync(recursive: true);
+ File(path.join(sdkPath, 'version')).writeAsStringSync('2.10.0');
+
File(path.join(sdkPath, 'lib', 'core', 'core.dart')).writeAsStringSync(r'''
library dart.core;
import 'dart:async';
diff --git a/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
index 1c5cfd9..12a2cad 100644
--- a/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/extension_member_contributor_test.dart
@@ -105,6 +105,19 @@
assertNoSuggestions();
}
+ Future<void> test_extension_onDynamic() async {
+ addTestSource('''
+extension E on dynamic {
+ void e() {}
+}
+void f(String s) {
+ s.^;
+}
+''');
+ await computeSuggestions();
+ assertSuggestMethod('e', null, 'void');
+ }
+
Future<void> test_extensionOverride_doesNotMatch() async {
addTestSource('''
extension E on int {
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_if_element_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_if_element_test.dart
new file mode 100644
index 0000000..4e3908a
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_if_element_test.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ConvertToIfElementTest);
+ });
+}
+
+@reflectiveTest
+class ConvertToIfElementTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode =>
+ LintNames.prefer_if_elements_to_conditional_expressions;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+String f(bool b) {
+ return ['a', b ? 'c' : 'd', 'e'];
+}
+
+String f2(bool b) {
+ return {'a', b ? 'c' : 'd', 'e'};
+}
+''');
+ await assertHasFix('''
+String f(bool b) {
+ return ['a', if (b) 'c' else 'd', 'e'];
+}
+
+String f2(bool b) {
+ return {'a', if (b) 'c' else 'd', 'e'};
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_single_quoted_strings_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_single_quoted_strings_test.dart
new file mode 100644
index 0000000..7bc1a30
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_single_quoted_strings_test.dart
@@ -0,0 +1,35 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ConvertToSingleQuotedStringTest);
+ });
+}
+
+@reflectiveTest
+class ConvertToSingleQuotedStringTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.prefer_single_quotes;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+main() {
+ print("abc");
+ print("e" + "f" + "g");
+}
+''');
+ await assertHasFix('''
+main() {
+ print('abc');
+ print('e' + 'f' + 'g');
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_spread_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_spread_test.dart
new file mode 100644
index 0000000..59bdc19
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/convert_to_spread_test.dart
@@ -0,0 +1,47 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ConvertToSpreadTest);
+ });
+}
+
+@reflectiveTest
+class ConvertToSpreadTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.prefer_spread_collections;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+f() {
+ var ints = [1, 2, 3];
+ print(['a']..addAll(ints.map((i) => i.toString()))..addAll(['c']));
+}
+
+f2() {
+ bool condition;
+ var things;
+ var l = ['a']..addAll(condition ? things : []);
+}
+''');
+ await assertHasFix('''
+f() {
+ var ints = [1, 2, 3];
+ print(['a', ...ints.map((i) => i.toString())]..addAll(['c']));
+}
+
+f2() {
+ bool condition;
+ var things;
+ var l = ['a', if (condition) ...things];
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_conditional_assignment_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_conditional_assignment_test.dart
new file mode 100644
index 0000000..790ff57
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_conditional_assignment_test.dart
@@ -0,0 +1,50 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ReplaceWithConditionalAssignmentTest);
+ });
+}
+
+@reflectiveTest
+class ReplaceWithConditionalAssignmentTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.prefer_conditional_assignment;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+class Person {
+ String _fullName;
+ void foo() {
+ if (_fullName == null) {
+ _fullName = getFullUserName(this);
+ }
+ }
+ void bar() {
+ if (_fullName == null)
+ _fullName = getFullUserName(this);
+ }
+ String getFullUserName(Person p) => '';
+}
+''');
+ await assertHasFix('''
+class Person {
+ String _fullName;
+ void foo() {
+ _fullName ??= getFullUserName(this);
+ }
+ void bar() {
+ _fullName ??= getFullUserName(this);
+ }
+ String getFullUserName(Person p) => '';
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_is_empty_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_is_empty_test.dart
new file mode 100644
index 0000000..b7475c3
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/replace_with_is_empty_test.dart
@@ -0,0 +1,35 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ReplaceWithIsEmptyTest);
+ });
+}
+
+@reflectiveTest
+class ReplaceWithIsEmptyTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.prefer_is_empty;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+void f(List c) {
+ if (0 == c.length) {}
+ if (1 > c.length) {}
+}
+''');
+ await assertHasFix('''
+void f(List c) {
+ if (c.isEmpty) {}
+ if (c.isEmpty) {}
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/test_all.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/test_all.dart
index 75eea74..edac3a0 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/bulk/test_all.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/test_all.dart
@@ -8,6 +8,10 @@
import 'convert_documentation_into_line_test.dart'
as convert_documentation_into_line;
import 'convert_to_contains_test.dart' as convert_to_contains;
+import 'convert_to_if_element_test.dart' as convert_to_if_element;
+import 'convert_to_single_quoted_strings_test.dart'
+ as convert_to_single_quoted_strings;
+import 'convert_to_spread_test.dart' as convert_to_spread;
import 'create_method_test.dart' as create_method;
import 'remove_argument_test.dart' as remove_argument;
import 'remove_await_test.dart' as remove_await;
@@ -24,14 +28,21 @@
import 'remove_unnecessary_new_test.dart' as remove_unnecessary_new;
import 'replace_colon_with_equals_test.dart' as replace_colon_with_equals;
import 'replace_null_with_closure_test.dart' as replace_null_with_closure;
+import 'replace_with_conditional_assignment_test.dart'
+ as replace_with_conditional_assignment;
+import 'replace_with_is_empty_test.dart' as replace_with_is_empty;
import 'replace_with_var_test.dart' as replace_with_var;
import 'use_curly_braces_test.dart' as use_curly_braces;
+import 'use_is_not_empty_test.dart' as use_is_not_empty;
void main() {
defineReflectiveSuite(() {
add_override.main();
convert_documentation_into_line.main();
convert_to_contains.main();
+ convert_to_if_element.main();
+ convert_to_single_quoted_strings.main();
+ convert_to_spread.main();
create_method.main();
remove_argument.main();
remove_await.main();
@@ -45,9 +56,12 @@
remove_type_annotation.main();
remove_unnecessary_const.main();
remove_unnecessary_new.main();
+ replace_with_conditional_assignment.main();
replace_colon_with_equals.main();
replace_null_with_closure.main();
+ replace_with_is_empty.main();
replace_with_var.main();
use_curly_braces.main();
+ use_is_not_empty.main();
}, name: 'bulk');
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk/use_is_not_empty_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk/use_is_not_empty_test.dart
new file mode 100644
index 0000000..e9010c7
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/bulk/use_is_not_empty_test.dart
@@ -0,0 +1,35 @@
+// Copyright (c) 2020, 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:analysis_server/src/services/linter/lint_names.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'bulk_fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(UseIsNotEmptyTest);
+ });
+}
+
+@reflectiveTest
+class UseIsNotEmptyTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.prefer_is_not_empty;
+
+ Future<void> test_singleFile() async {
+ await resolveTestUnit('''
+void f(List<int> l) {
+ if (!l.isEmpty) {}
+ if (!l.isEmpty || true) {}
+}
+''');
+ await assertHasFix('''
+void f(List<int> l) {
+ if (l.isNotEmpty) {}
+ if (l.isNotEmpty || true) {}
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/tool/completion_metrics/flutter_metrics.dart b/pkg/analysis_server/tool/completion_metrics/flutter_metrics.dart
new file mode 100644
index 0000000..817a3e8
--- /dev/null
+++ b/pkg/analysis_server/tool/completion_metrics/flutter_metrics.dart
@@ -0,0 +1,309 @@
+// Copyright (c) 2020, 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 'dart:async';
+import 'dart:io' as io;
+
+import 'package:analysis_server/src/utilities/flutter.dart';
+import 'package:analyzer/dart/analysis/analysis_context_collection.dart';
+import 'package:analyzer/dart/analysis/context_root.dart';
+import 'package:analyzer/dart/analysis/results.dart';
+import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/dart/ast/visitor.dart';
+import 'package:analyzer/diagnostic/diagnostic.dart';
+import 'package:analyzer/file_system/physical_file_system.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:args/args.dart';
+
+/// Compute and print information about flutter packages.
+Future<void> main(List<String> args) async {
+ var parser = createArgParser();
+ var result = parser.parse(args);
+
+ if (validArguments(parser, result)) {
+ var out = io.stdout;
+ var rootPath = result.rest[0];
+ out.writeln('Analyzing root: "$rootPath"');
+
+ var computer = FlutterMetricsComputer();
+ var stopwatch = Stopwatch()..start();
+ await computer.compute(rootPath);
+ stopwatch.stop();
+ var duration = Duration(milliseconds: stopwatch.elapsedMilliseconds);
+ out.writeln('');
+ out.writeln('Analysis performed in $duration');
+ computer.writeResults(out);
+ await out.flush();
+ }
+ io.exit(0);
+}
+
+/// Create a parser that can be used to parse the command-line arguments.
+ArgParser createArgParser() {
+ var parser = ArgParser();
+ parser.addOption(
+ 'help',
+ abbr: 'h',
+ help: 'Print this help message.',
+ );
+ return parser;
+}
+
+/// Print usage information for this tool.
+void printUsage(ArgParser parser, {String error}) {
+ if (error != null) {
+ print(error);
+ print('');
+ }
+ print('usage: dart flutter_metrics.dart [options] packagePath');
+ print('');
+ print('Compute and print information about flutter packages.');
+ print('');
+ print(parser.usage);
+}
+
+/// Return `true` if the command-line arguments (represented by the [result] and
+/// parsed by the [parser]) are valid.
+bool validArguments(ArgParser parser, ArgResults result) {
+ if (result.wasParsed('help')) {
+ printUsage(parser);
+ return false;
+ } else if (result.rest.length != 1) {
+ printUsage(parser, error: 'No directory path specified.');
+ return false;
+ }
+ var rootPath = result.rest[0];
+ if (!io.Directory(rootPath).existsSync()) {
+ printUsage(parser, error: 'The directory "$rootPath" does not exist.');
+ return false;
+ }
+ return true;
+}
+
+/// An object that records the data as it is being computed.
+class FlutterData {
+ /// The total number of widget creation expressions found.
+ int totalWidgetCount = 0;
+
+ /// A table mapping the name of a widget class to the number of times in
+ /// which an instance of that class is created.
+ Map<String, int> widgetCounts = {};
+
+ /// A table mapping the name of a widget class and the name of the parent
+ /// widget to the number of times the widget was created as a child of the
+ /// parent.
+ Map<String, Map<String, int>> parentData = {};
+
+ /// A table mapping the name of the parent widget and the name of a widget
+ /// class to the number of times the parent had a widget of the given kind.
+ Map<String, Map<String, int>> childData = {};
+
+ /// Initialize a newly created set of data to be empty.
+ FlutterData();
+
+ /// Record that an instance of the [childWidget] was created. If the instance
+ /// creation expression is an argument in another widget constructor
+ /// invocation, then the [parentWidget] is the name of the enclosing class.
+ void recordWidgetCreation(String childWidget, String parentWidget) {
+ totalWidgetCount++;
+ widgetCounts[childWidget] = (widgetCounts[childWidget] ?? 0) + 1;
+
+ if (parentWidget != null) {
+ var parentMap = parentData.putIfAbsent(childWidget, () => {});
+ parentMap[parentWidget] = (parentMap[parentWidget] ?? 0) + 1;
+
+ var childMap = childData.putIfAbsent(parentWidget, () => {});
+ childMap[childWidget] = (childMap[childWidget] ?? 0) + 1;
+ }
+ }
+}
+
+/// An object that visits a compilation unit in order to record the data being
+/// collected.
+class FlutterDataCollector extends RecursiveAstVisitor<void> {
+ /// The data being collected.
+ final FlutterData data;
+
+ /// The object used to determine Flutter-specific features.
+ Flutter flutter;
+
+ /// The name of the most deeply widget class whose constructor invocation we
+ /// are within.
+ String parentWidget;
+
+ /// Initialize a newly created collector to add data points to the given
+ /// [data].
+ FlutterDataCollector(this.data);
+
+ @override
+ void visitInstanceCreationExpression(InstanceCreationExpression node) {
+ var previousParentWidget = parentWidget;
+ if (flutter.isWidgetCreation(node)) {
+ var element = node.constructorName.staticElement;
+ if (element == null) {
+ throw StateError(
+ 'Unresolved constructor name: ${node.constructorName}');
+ }
+ var childWidget = element.enclosingElement.name;
+ if (!element.librarySource.uri
+ .toString()
+ .startsWith('package:flutter/')) {
+ childWidget = 'user-defined';
+ }
+ data.recordWidgetCreation(childWidget, parentWidget);
+ parentWidget = childWidget;
+ }
+ super.visitInstanceCreationExpression(node);
+ parentWidget = previousParentWidget;
+ }
+}
+
+/// An object used to compute metrics for a single file or directory.
+class FlutterMetricsComputer {
+ /// The resource provider used to access the files being analyzed.
+ final PhysicalResourceProvider resourceProvider =
+ PhysicalResourceProvider.INSTANCE;
+
+ /// The data that was computed.
+ final FlutterData data = FlutterData();
+
+ /// Initialize a newly created metrics computer that can compute the metrics
+ /// in one or more files and directories.
+ FlutterMetricsComputer();
+
+ /// Compute the metrics for the file(s) in the [rootPath].
+ void compute(String rootPath) async {
+ final collection = AnalysisContextCollection(
+ includedPaths: [rootPath],
+ resourceProvider: PhysicalResourceProvider.INSTANCE,
+ );
+ final collector = FlutterDataCollector(data);
+ for (var context in collection.contexts) {
+ await _computeInContext(context.contextRoot, collector);
+ }
+ }
+
+ /// Write a report of the metrics that were computed to the [sink].
+ void writeResults(StringSink sink) {
+ _writeWidgetCounts(sink);
+ _writeChildData(sink);
+ _writeParentData(sink);
+ }
+
+ /// Compute the metrics for the files in the context [root], creating a
+ /// separate context collection to prevent accumulating memory. The metrics
+ /// should be captured in the [collector].
+ Future<void> _computeInContext(
+ ContextRoot root, FlutterDataCollector collector) async {
+ // Create a new collection to avoid consuming large quantities of memory.
+ final collection = AnalysisContextCollection(
+ includedPaths: root.includedPaths.toList(),
+ excludedPaths: root.excludedPaths.toList(),
+ resourceProvider: PhysicalResourceProvider.INSTANCE,
+ );
+ var context = collection.contexts[0];
+ for (var filePath in context.contextRoot.analyzedFiles()) {
+ if (AnalysisEngine.isDartFileName(filePath)) {
+ try {
+ var resolvedUnitResult =
+ await context.currentSession.getResolvedUnit(filePath);
+ //
+ // Check for errors that cause the file to be skipped.
+ //
+ if (resolvedUnitResult == null) {
+ print('');
+ print('File $filePath skipped because of an internal error.');
+ continue;
+ } else if (resolvedUnitResult.state != ResultState.VALID) {
+ print('');
+ print('File $filePath skipped because it could not be analyzed.');
+ continue;
+ } else if (hasError(resolvedUnitResult)) {
+ print('');
+ print('File $filePath skipped due to errors:');
+ for (var error in resolvedUnitResult.errors) {
+ print(' ${error.toString()}');
+ }
+ continue;
+ }
+
+ collector.flutter = Flutter.instance;
+ resolvedUnitResult.unit.accept(collector);
+ } catch (exception, stackTrace) {
+ print('');
+ print('Exception caught analyzing: "$filePath"');
+ print(exception);
+ print(stackTrace);
+ }
+ }
+ }
+ }
+
+ /// Compute and format a percentage for the fraction [value] / [total].
+ String _formatPercent(int value, int total) {
+ var percent = ((value / total) * 100).toStringAsFixed(1);
+ if (percent.length == 3) {
+ percent = ' $percent';
+ } else if (percent.length == 4) {
+ percent = ' $percent';
+ }
+ return percent;
+ }
+
+ /// Write the child data to the [sink].
+ void _writeChildData(StringSink sink) {
+ sink.writeln('');
+ sink.writeln('The number of times a widget had a given child.');
+ _writeStructureData(sink, data.childData);
+ }
+
+ /// Write the parent data to the [sink].
+ void _writeParentData(StringSink sink) {
+ sink.writeln('');
+ sink.writeln('The number of times a widget had a given parent.');
+ _writeStructureData(sink, data.parentData);
+ }
+
+ /// Write the structure data in the [structureMap] to the [sink].
+ void _writeStructureData(
+ StringSink sink, Map<String, Map<String, int>> structureMap) {
+ var outerKeys = structureMap.keys.toList()..sort();
+ for (var outerKey in outerKeys) {
+ sink.writeln(outerKey);
+ var innerMap = structureMap[outerKey];
+ var entries = innerMap.entries.toList();
+ entries.sort((first, second) => second.value.compareTo(first.value));
+ var total = entries.fold(
+ 0, (previousValue, entry) => previousValue + entry.value);
+ for (var entry in entries) {
+ var percent = _formatPercent(entry.value, total);
+ sink.writeln(' $percent%: ${entry.key} (${entry.value})');
+ }
+ }
+ }
+
+ /// Write the widget count data to the [sink].
+ void _writeWidgetCounts(StringSink sink) {
+ sink.writeln('');
+ sink.writeln('Widget classes by frequency of instantiation');
+
+ var total = data.totalWidgetCount;
+ var entries = data.widgetCounts.entries.toList();
+ entries.sort((first, second) => second.value.compareTo(first.value));
+ for (var entry in entries) {
+ var percent = _formatPercent(entry.value, total);
+ sink.writeln(' $percent%: ${entry.key} (${entry.value})');
+ }
+ }
+
+ /// Return `true` if the [result] contains an error.
+ static bool hasError(ResolvedUnitResult result) {
+ for (var error in result.errors) {
+ if (error.severity == Severity.error) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 6b9c72e..50ac6e8 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 0.39.16-dev
+## 0.39.16
* Added `TypeVisitorWithArgument` and `DartType.acceptWithArgument`.
* Bumped the analyzer's SDK requirement to `>=2.7.0`, so that extension methods
can be used within the analyzer implementation. Previously it was `2.6.0`,
diff --git a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
index 30e01ff..6b85a28 100644
--- a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
+++ b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
@@ -22,6 +22,7 @@
import 'package:analyzer/src/summary2/linked_element_factory.dart';
import 'package:analyzer/src/summary2/reference.dart';
import 'package:meta/meta.dart';
+import 'package:pub_semver/pub_semver.dart';
import 'package:yaml/yaml.dart';
/// Build summary for SDK at the given [sdkPath].
@@ -44,7 +45,11 @@
var file = resourceProvider.getFile(embedderYamlPath);
var content = file.readAsStringSync();
var map = loadYaml(content) as YamlMap;
- var embedderSdk = EmbedderSdk(resourceProvider, {file.parent: map});
+ var embedderSdk = EmbedderSdk(
+ resourceProvider,
+ {file.parent: map},
+ languageVersion: sdk.languageVersion,
+ );
for (var library in embedderSdk.sdkLibraries) {
var uriStr = library.shortName;
if (sdk.libraryMap.getLibrary(uriStr) == null) {
@@ -60,6 +65,7 @@
return _Builder(
sdk.context,
sdk.allowedExperimentsJson,
+ sdk.languageVersion,
librarySources,
).build();
}
@@ -73,11 +79,13 @@
final List<LinkInputLibrary> inputLibraries = [];
AllowedExperiments allowedExperiments;
+ Version languageVersion;
final PackageBundleAssembler bundleAssembler = PackageBundleAssembler();
_Builder(
this.context,
this.allowedExperimentsJson,
+ this.languageVersion,
this.librarySources,
) {
allowedExperiments = _parseAllowedExperiments(allowedExperimentsJson);
@@ -100,6 +108,10 @@
bundle2: linkResult.bundle,
sdk: PackageBundleSdkBuilder(
allowedExperimentsJson: allowedExperimentsJson,
+ languageVersion: LinkedLanguageVersionBuilder(
+ major: languageVersion.major,
+ minor: languageVersion.minor,
+ ),
),
).toBuffer();
diff --git a/pkg/analyzer/lib/source/embedder.dart b/pkg/analyzer/lib/source/embedder.dart
index f55cc5d..f2cb675 100644
--- a/pkg/analyzer/lib/source/embedder.dart
+++ b/pkg/analyzer/lib/source/embedder.dart
@@ -18,6 +18,7 @@
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart' show FileBasedSource;
import 'package:analyzer/src/summary/idl.dart' show PackageBundle;
+import 'package:pub_semver/src/version.dart';
import 'package:yaml/yaml.dart';
export 'package:analyzer/src/context/builder.dart' show EmbedderYamlLocator;
@@ -38,13 +39,15 @@
embedderYamls?.forEach(_processEmbedderYaml);
}
- // TODO(danrubel) Determine SDK version
@override
String get allowedExperimentsJson {
return null;
}
@override
+ Version get languageVersion => throw UnimplementedError();
+
+ @override
String get sdkVersion => '0';
/// The url mappings for this SDK.
diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart
index daf2deb..de3f46f 100644
--- a/pkg/analyzer/lib/src/context/builder.dart
+++ b/pkg/analyzer/lib/src/context/builder.dart
@@ -225,6 +225,20 @@
resourceProvider: resourceProvider);
}
+ DartSdk folderSdk;
+ {
+ String sdkPath = sdkManager.defaultSdkDirectory;
+ SdkDescription description = SdkDescription(sdkPath);
+ folderSdk = sdkManager.getSdk(description, () {
+ var sdk = FolderBasedDartSdk(
+ resourceProvider,
+ resourceProvider.getFolder(sdkPath),
+ );
+ sdk.analysisOptions = analysisOptions;
+ return sdk;
+ });
+ }
+
if (workspace != null) {
var partialSourceFactory = workspace.createSourceFactory(null, null);
var embedderYamlSource = partialSourceFactory.forUri(
@@ -237,22 +251,17 @@
EmbedderYamlLocator.forLibFolder(libFolder);
Map<Folder, YamlMap> embedderMap = locator.embedderYamls;
if (embedderMap.isNotEmpty) {
- EmbedderSdk embedderSdk = EmbedderSdk(resourceProvider, embedderMap);
+ EmbedderSdk embedderSdk = EmbedderSdk(
+ resourceProvider,
+ embedderMap,
+ languageVersion: folderSdk.languageVersion,
+ );
return embedderSdk;
}
}
}
- String sdkPath = sdkManager.defaultSdkDirectory;
- SdkDescription description = SdkDescription(sdkPath);
- return sdkManager.getSdk(description, () {
- var sdk = FolderBasedDartSdk(
- resourceProvider,
- resourceProvider.getFolder(sdkPath),
- );
- sdk.analysisOptions = analysisOptions;
- return sdk;
- });
+ return folderSdk;
}
/// Return the analysis options that should be used to analyze code in the
diff --git a/pkg/analyzer/lib/src/dart/error/hint_codes.dart b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
index e187c17..9645945 100644
--- a/pkg/analyzer/lib/src/dart/error/hint_codes.dart
+++ b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
@@ -1584,11 +1584,10 @@
// #### Description
//
// The analyzer produces this diagnostic when an `as` expression inside a
- // [constant context](#constant-context) is found in code that has an SDK
- // constraint whose lower bound is less than 2.3.2. Using an `as` expression
- // in a [constant context](#constant-context) wasn't supported in earlier
- // versions, so this code won't be able to run against earlier versions of the
- // SDK.
+ // [constant context][] is found in code that has an SDK constraint whose
+ // lower bound is less than 2.3.2. Using an `as` expression in a
+ // [constant context][] wasn't supported in earlier versions, so this code
+ // won't be able to run against earlier versions of the SDK.
//
// #### Examples
//
@@ -1621,7 +1620,7 @@
//
// If you need to support older versions of the SDK, then either rewrite the
// code to not use an `as` expression, or change the code so that the `as`
- // expression isn't in a [constant context](#constant-context):
+ // expression isn't in a [constant context][]:
//
// ```dart
// num x = 3;
@@ -1696,11 +1695,11 @@
// #### Description
//
// The analyzer produces this diagnostic when any use of the `&`, `|`, or `^`
- // operators on the class `bool` inside a
- // [constant context](#constant-context) is found in code that has an SDK
- // constraint whose lower bound is less than 2.3.2. Using these operators in a
- // [constant context](#constant-context) wasn't supported in earlier versions,
- // so this code won't be able to run against earlier versions of the SDK.
+ // operators on the class `bool` inside a [constant context][] is found in
+ // code that has an SDK constraint whose lower bound is less than 2.3.2. Using
+ // these operators in a [constant context][] wasn't supported in earlier
+ // versions, so this code won't be able to run against earlier versions of the
+ // SDK.
//
// #### Examples
//
@@ -1734,7 +1733,7 @@
//
// If you need to support older versions of the SDK, then either rewrite the
// code to not use these operators, or change the code so that the expression
- // isn't in a [constant context](#constant-context):
+ // isn't in a [constant context][]:
//
// ```dart
// const bool a = true;
@@ -1755,11 +1754,10 @@
// #### Description
//
// The analyzer produces this diagnostic when the operator `==` is used on a
- // non-primitive type inside a [constant context](#constant-context) is found
- // in code that has an SDK constraint whose lower bound is less than 2.3.2.
- // Using this operator in a [constant context](#constant-context) wasn't
- // supported in earlier versions, so this code won't be able to run against
- // earlier versions of the SDK.
+ // non-primitive type inside a [constant context][] is found in code that has
+ // an SDK constraint whose lower bound is less than 2.3.2. Using this operator
+ // in a [constant context][] wasn't supported in earlier versions, so this
+ // code won't be able to run against earlier versions of the SDK.
//
// #### Examples
//
@@ -1794,7 +1792,7 @@
//
// If you need to support older versions of the SDK, then either rewrite the
// code to not use the `==` operator, or change the code so that the
- // expression isn't in a [constant context](#constant-context):
+ // expression isn't in a [constant context][]:
//
// ```dart
// class C {}
@@ -1934,11 +1932,10 @@
// #### Description
//
// The analyzer produces this diagnostic when an `is` expression inside a
- // [constant context](#constant-context) is found in code that has an SDK
- // constraint whose lower bound is less than 2.3.2. Using an `is` expression
- // in a [constant context](#constant-context) wasn't supported in earlier
- // versions, so this code won't be able to run against earlier versions of the
- // SDK.
+ // [constant context][] is found in code that has an SDK constraint whose
+ // lower bound is less than 2.3.2. Using an `is` expression in a
+ // [constant context][] wasn't supported in earlier versions, so this code
+ // won't be able to run against earlier versions of the SDK.
//
// #### Examples
//
@@ -1972,7 +1969,7 @@
// If you need to support older versions of the SDK, then either rewrite the
// code to not use the `is` operator, or, if that isn't possible, change the
// code so that the `is` expression isn't in a
- // [constant context](#constant-context):
+ // [constant context][]:
//
// ```dart
// const x = 4;
@@ -2155,11 +2152,10 @@
// #### Description
//
// The analyzer produces this diagnostic when an if or spread element inside
- // a [constant context](#constant-context) is found in code that has an
- // SDK constraint whose lower bound is less than 2.5.0. Using an if or
- // spread element inside a [constant context](#constant-context) wasn't
- // supported in earlier versions, so this code won't be able to run against
- // earlier versions of the SDK.
+ // a [constant context][] is found in code that has an SDK constraint whose
+ // lower bound is less than 2.5.0. Using an if or spread element inside a
+ // [constant context][] wasn't supported in earlier versions, so this code
+ // won't be able to run against earlier versions of the SDK.
//
// #### Examples
//
@@ -2199,7 +2195,7 @@
// ```
//
// If that isn't possible, change the code so that the element isn't in a
- // [constant context](#constant-context):
+ // [constant context][]:
//
// ```dart
// const a = [1, 2];
diff --git a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
index ac55764..bd7cb0b 100644
--- a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
@@ -84,7 +84,7 @@
final Set<ConstantEvaluationTarget> _constants = {};
- final String Function(String path) getFileContent;
+ final String Function(FileState file) getFileContent;
LibraryAnalyzer(
this._analysisOptions,
@@ -237,7 +237,7 @@
if (_analysisOptions.lint) {
performance.run('computeLints', (performance) {
var allUnits = _library.libraryFiles.map((file) {
- var content = _getFileContent(file.path);
+ var content = getFileContent(file);
return LinterContextUnit(content, units[file]);
}).toList();
for (int i = 0; i < allUnits.length; i++) {
@@ -271,7 +271,7 @@
unit.accept(Dart2JSVerifier(errorReporter));
}
- var content = _getFileContent(file.path);
+ var content = getFileContent(file);
unit.accept(
BestPracticesVerifier(
errorReporter,
@@ -453,15 +453,6 @@
});
}
- /// Catch all exceptions from the `getFileContent` function.
- String _getFileContent(String path) {
- try {
- return getFileContent(path);
- } catch (_) {
- return '';
- }
- }
-
WorkspacePackage _getPackage(CompilationUnit unit) {
final libraryPath = _library.source.fullName;
Workspace workspace =
@@ -521,7 +512,7 @@
@required FileState file,
@required OperationPerformanceImpl performance,
}) {
- String content = _getFileContent(file.path);
+ String content = getFileContent(file);
performance.getDataInt('count').increment();
performance.getDataInt('length').add(content.length);
diff --git a/pkg/analyzer/lib/src/dart/micro/library_graph.dart b/pkg/analyzer/lib/src/dart/micro/library_graph.dart
index eb0a42f..4b532b3 100644
--- a/pkg/analyzer/lib/src/dart/micro/library_graph.dart
+++ b/pkg/analyzer/lib/src/dart/micro/library_graph.dart
@@ -30,6 +30,7 @@
show DependencyWalker, Node;
import 'package:analyzer/src/summary2/informative_data.dart';
import 'package:analyzer/src/util/performance/operation_performance.dart';
+import 'package:collection/collection.dart';
import 'package:convert/convert.dart';
import 'package:meta/meta.dart';
@@ -95,7 +96,7 @@
signatureBuilder.addString(path);
signatureBuilder.addBytes(libraryCycle.signature);
- var content = getContent();
+ var content = getContentWithSameDigest();
signatureBuilder.addString(content);
return signatureBuilder.toHex();
@@ -114,6 +115,20 @@
}
}
+ /// Return the content of the file, the empty string if cannot be read.
+ ///
+ /// Additionally, we read the file digest, end verify that it is the same
+ /// as the [_digest] that we recorded in [refresh]. If it is not, then the
+ /// file was changed, and we failed to call [FileSystemState.changeFile]
+ String getContentWithSameDigest() {
+ var digest = utf8.encode(_fsState.getFileDigest(path));
+ if (!const ListEquality<int>().equals(digest, _digest)) {
+ throw StateError('File was changed, but not invalidated: $path');
+ }
+
+ return getContent();
+ }
+
void internal_setLibraryCycle(LibraryCycle cycle, String signature) {
_libraryCycle = cycle;
}
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index eeb514b..2ccbf70 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -306,7 +306,7 @@
contextObjects.inheritanceManager,
libraryFile,
resourceProvider,
- (String path) => resourceProvider.getFile(path).readAsStringSync(),
+ (file) => file.getContentWithSameDigest(),
);
results = performance.run('analyze', (performance) {
@@ -589,12 +589,7 @@
for (var file in libraryFile.libraryFiles) {
var isSynthetic = !file.exists;
- var content = '';
- try {
- var resource = resourceProvider.getFile(file.path);
- content = resource.readAsStringSync();
- } catch (_) {}
-
+ var content = file.getContentWithSameDigest();
performance.getDataInt('parseCount').increment();
performance.getDataInt('parseLength').add(content.length);
diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
index d50e6e6..29956ee 100644
--- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart
+++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:collection';
+import 'dart:io' as io;
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/analysis/utilities.dart';
@@ -14,8 +15,16 @@
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source_io.dart';
+import 'package:pub_semver/pub_semver.dart';
import 'package:yaml/yaml.dart';
+Version languageVersionFromSdkVersion(String sdkVersionStr) {
+ var sdkVersionParts = sdkVersionStr.split('.');
+ var sdkVersionMajor = int.parse(sdkVersionParts[0]);
+ var sdkVersionMinor = int.parse(sdkVersionParts[1]);
+ return Version(sdkVersionMajor, sdkVersionMinor, 0);
+}
+
/// An abstract implementation of a Dart SDK in which the available libraries
/// are stored in a library map. Subclasses are responsible for populating the
/// library map.
@@ -197,11 +206,21 @@
static const String _DART_COLON_PREFIX = 'dart:';
static const String _EMBEDDED_LIB_MAP_KEY = 'embedded_libs';
+
+ Version _languageVersion;
+
final Map<String, String> _urlMappings = HashMap<String, String>();
+ /// TODO(scheglov) Make [languageVersion] required.
+ /// https://github.com/dart-lang/sdk/issues/42890
EmbedderSdk(
- ResourceProvider resourceProvider, Map<Folder, YamlMap> embedderYamls) {
+ ResourceProvider resourceProvider,
+ Map<Folder, YamlMap> embedderYamls, {
+ Version languageVersion,
+ }) {
this.resourceProvider = resourceProvider;
+ this._languageVersion =
+ languageVersion ?? languageVersionFromSdkVersion(io.Platform.version);
embedderYamls?.forEach(_processEmbedderYaml);
}
@@ -222,6 +241,9 @@
}
@override
+ Version get languageVersion => _languageVersion;
+
+ @override
// TODO(danrubel) Determine SDK version
String get sdkVersion => '0';
@@ -364,6 +386,9 @@
/// discovered.
String _sdkVersion;
+ /// The cached language version of this SDK.
+ Version _languageVersion;
+
/// The file containing the pub executable.
File _pubExecutable;
@@ -395,6 +420,18 @@
Folder get docDirectory =>
_sdkDirectory.getChildAssumingFolder(_DOCS_DIRECTORY_NAME);
+ @override
+ Version get languageVersion {
+ if (_languageVersion == null) {
+ var sdkVersionStr = _sdkDirectory
+ .getChildAssumingFile(_VERSION_FILE_NAME)
+ .readAsStringSync();
+ _languageVersion = languageVersionFromSdkVersion(sdkVersionStr);
+ }
+
+ return _languageVersion;
+ }
+
/// Return the directory within the SDK directory that contains the libraries.
Folder get libraryDirectory {
return _libraryDirectory ??=
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index c929868..d612589 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -713,9 +713,8 @@
// #### Description
//
// The analyzer produces this diagnostic when a method or function has a
- // return type that's <a href=”#potentially-non-nullable”>potentially
- // non-nullable</a> but would implicitly return `null` if control reached the
- // end of the function.
+ // return type that's [potentially non-nullable][] but would implicitly return
+ // `null` if control reached the end of the function.
//
// #### Example
//
@@ -5307,11 +5306,11 @@
// #### Description
//
// The analyzer produces this diagnostic when an optional parameter, whether
- // positional or named, has a <a href=”#potentially-non-nullable”>potentially
- // non-nullable</a> type and doesn't specify a default value. Optional
- // parameters that have no explicit default value have an implicit default
- // value of `null`. If the type of the parameter doesn't allow the parameter
- // to have a value of `null`, then the implicit default value isn't valid.
+ // positional or named, has a [potentially non-nullable][] type and doesn't
+ // specify a default value. Optional parameters that have no explicit default
+ // value have an implicit default value of `null`. If the type of the
+ // parameter doesn't allow the parameter to have a value of `null`, then the
+ // implicit default value isn't valid.
//
// #### Example
//
@@ -6319,7 +6318,7 @@
// The analyzer produces this diagnostic when an element in a constant list
// literal isn't a constant value. The list literal can be constant either
// explicitly (because it's prefixed by the `const` keyword) or implicitly
- // (because it appears in a [constant context](#constant-context)).
+ // (because it appears in a [constant context][]).
//
// #### Examples
//
@@ -6745,8 +6744,7 @@
//
// The analyzer produces this diagnostic when a local variable is referenced
// and has all these characteristics:
- // - Has a type that's <a href=”#potentially-non-nullable”>potentially
- // non-nullable</a>.
+ // - Has a type that's [potentially non-nullable][].
// - Doesn't have an initializer.
// - Isn't marked as `late`.
// - The analyzer can't prove that the local variable will be assigned before
@@ -6916,8 +6914,7 @@
//
// The analyzer produces this diagnostic when a field is declared and has all
// these characteristics:
- // - Has a type that's <a href=”#potentially-non-nullable”>potentially
- // non-nullable</a>
+ // - Has a type that's [potentially non-nullable][]
// - Doesn't have an initializer
// - Isn't marked as `late`
//
@@ -8629,8 +8626,8 @@
// #### Description
//
// The analyzer produces this diagnostic when an expression whose type is
- // <a href=”#potentially-non-nullable”>potentially non-nullable</a> is
- // dereferenced without first verifying that the value isn't `null`.
+ // [potentially non-nullable][] is dereferenced without first verifying that
+ // the value isn't `null`.
//
// #### Example
//
diff --git a/pkg/analyzer/lib/src/generated/sdk.dart b/pkg/analyzer/lib/src/generated/sdk.dart
index efa21c7..1f141f7 100644
--- a/pkg/analyzer/lib/src/generated/sdk.dart
+++ b/pkg/analyzer/lib/src/generated/sdk.dart
@@ -8,6 +8,7 @@
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
import 'package:analyzer/src/generated/source.dart' show Source;
+import 'package:pub_semver/pub_semver.dart';
/// A Dart SDK installed in a specified location.
abstract class DartSdk {
@@ -34,6 +35,12 @@
/// Return the analysis context used for all of the sources in this [DartSdk].
AnalysisContext get context;
+ /// Return the language version of this SDK, or throws an exception.
+ ///
+ /// The language version has only major/minor components, the patch number
+ /// is always zero, because the patch number does not change the language.
+ Version get languageVersion;
+
/// Return a list containing all of the libraries defined in this SDK.
List<SdkLibrary> get sdkLibraries;
diff --git a/pkg/analyzer/lib/src/lint/linter_visitor.dart b/pkg/analyzer/lib/src/lint/linter_visitor.dart
index 0392e60..bc3f868 100644
--- a/pkg/analyzer/lib/src/lint/linter_visitor.dart
+++ b/pkg/analyzer/lib/src/lint/linter_visitor.dart
@@ -19,12 +19,24 @@
LinterVisitor(this.registry, this.exceptionHandler);
@override
+ void visitAdjacentStrings(AdjacentStrings node) {
+ _runSubscriptions(node, registry._forAdjacentStrings);
+ super.visitAdjacentStrings(node);
+ }
+
+ @override
void visitAnnotation(Annotation node) {
_runSubscriptions(node, registry._forAnnotation);
super.visitAnnotation(node);
}
@override
+ void visitArgumentList(ArgumentList node) {
+ _runSubscriptions(node, registry._forArgumentList);
+ super.visitArgumentList(node);
+ }
+
+ @override
void visitAsExpression(AsExpression node) {
_runSubscriptions(node, registry._forAsExpression);
super.visitAsExpression(node);
@@ -481,6 +493,18 @@
}
@override
+ void visitNativeClause(NativeClause node) {
+ _runSubscriptions(node, registry._forNativeClause);
+ super.visitNativeClause(node);
+ }
+
+ @override
+ void visitNativeFunctionBody(NativeFunctionBody node) {
+ _runSubscriptions(node, registry._forNativeFunctionBody);
+ super.visitNativeFunctionBody(node);
+ }
+
+ @override
void visitNullLiteral(NullLiteral node) {
_runSubscriptions(node, registry._forNullLiteral);
super.visitNullLiteral(node);
@@ -554,6 +578,12 @@
}
@override
+ void visitScriptTag(ScriptTag node) {
+ _runSubscriptions(node, registry._forScriptTag);
+ super.visitScriptTag(node);
+ }
+
+ @override
void visitSetOrMapLiteral(SetOrMapLiteral node) {
_runSubscriptions(node, registry._forSetOrMapLiteral);
super.visitSetOrMapLiteral(node);
@@ -734,7 +764,9 @@
/// The container to register visitors for separate AST node types.
class NodeLintRegistry {
final bool enableTiming;
+ final List<_Subscription<AdjacentStrings>> _forAdjacentStrings = [];
final List<_Subscription<Annotation>> _forAnnotation = [];
+ final List<_Subscription<ArgumentList>> _forArgumentList = [];
final List<_Subscription<AsExpression>> _forAsExpression = [];
final List<_Subscription<AssertInitializer>> _forAssertInitializer = [];
final List<_Subscription<AssertStatement>> _forAssertStatement = [];
@@ -777,8 +809,8 @@
[];
final List<_Subscription<ExpressionStatement>> _forExpressionStatement = [];
final List<_Subscription<ExtendsClause>> _forExtendsClause = [];
- final List<_Subscription<ExtendsClause>> _forExtensionDeclaration = [];
- final List<_Subscription<ExtendsClause>> _forExtensionOverride = [];
+ final List<_Subscription<ExtensionDeclaration>> _forExtensionDeclaration = [];
+ final List<_Subscription<ExtensionOverride>> _forExtensionOverride = [];
final List<_Subscription<FieldDeclaration>> _forFieldDeclaration = [];
final List<_Subscription<FieldFormalParameter>> _forFieldFormalParameter = [];
final List<_Subscription<ForEachPartsWithDeclaration>>
@@ -826,6 +858,8 @@
final List<_Subscription<MethodInvocation>> _forMethodInvocation = [];
final List<_Subscription<MixinDeclaration>> _forMixinDeclaration = [];
final List<_Subscription<NamedExpression>> _forNamedExpression = [];
+ final List<_Subscription<NativeClause>> _forNativeClause = [];
+ final List<_Subscription<NativeFunctionBody>> _forNativeFunctionBody = [];
final List<_Subscription<NullLiteral>> _forNullLiteral = [];
final List<_Subscription<OnClause>> _forOnClause = [];
final List<_Subscription<ParenthesizedExpression>>
@@ -840,6 +874,7 @@
_forRedirectingConstructorInvocation = [];
final List<_Subscription<RethrowExpression>> _forRethrowExpression = [];
final List<_Subscription<ReturnStatement>> _forReturnStatement = [];
+ final List<_Subscription<ScriptTag>> _forScriptTag = [];
final List<_Subscription<SetOrMapLiteral>> _forSetOrMapLiteral = [];
final List<_Subscription<ShowCombinator>> _forShowCombinator = [];
final List<_Subscription<SimpleFormalParameter>> _forSimpleFormalParameter =
@@ -875,10 +910,18 @@
NodeLintRegistry(this.enableTiming);
+ void addAdjacentStrings(LintRule linter, AstVisitor visitor) {
+ _forAdjacentStrings.add(_Subscription(linter, visitor, _getTimer(linter)));
+ }
+
void addAnnotation(LintRule linter, AstVisitor visitor) {
_forAnnotation.add(_Subscription(linter, visitor, _getTimer(linter)));
}
+ void addArgumentList(LintRule linter, AstVisitor visitor) {
+ _forArgumentList.add(_Subscription(linter, visitor, _getTimer(linter)));
+ }
+
void addAsExpression(LintRule linter, AstVisitor visitor) {
_forAsExpression.add(_Subscription(linter, visitor, _getTimer(linter)));
}
@@ -1217,6 +1260,15 @@
_forNamedExpression.add(_Subscription(linter, visitor, _getTimer(linter)));
}
+ void addNativeClause(LintRule linter, AstVisitor visitor) {
+ _forNativeClause.add(_Subscription(linter, visitor, _getTimer(linter)));
+ }
+
+ void addNativeFunctionBody(LintRule linter, AstVisitor visitor) {
+ _forNativeFunctionBody
+ .add(_Subscription(linter, visitor, _getTimer(linter)));
+ }
+
void addNullLiteral(LintRule linter, AstVisitor visitor) {
_forNullLiteral.add(_Subscription(linter, visitor, _getTimer(linter)));
}
@@ -1271,6 +1323,10 @@
_forReturnStatement.add(_Subscription(linter, visitor, _getTimer(linter)));
}
+ void addScriptTag(LintRule linter, AstVisitor visitor) {
+ _forScriptTag.add(_Subscription(linter, visitor, _getTimer(linter)));
+ }
+
void addSetOrMapLiteral(LintRule linter, AstVisitor visitor) {
_forSetOrMapLiteral.add(_Subscription(linter, visitor, _getTimer(linter)));
}
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 18d2996..f7c6b21 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -17792,6 +17792,7 @@
with _PackageBundleSdkMixin
implements idl.PackageBundleSdk {
String _allowedExperimentsJson;
+ LinkedLanguageVersionBuilder _languageVersion;
@override
String get allowedExperimentsJson => _allowedExperimentsJson ??= '';
@@ -17801,27 +17802,49 @@
this._allowedExperimentsJson = value;
}
- PackageBundleSdkBuilder({String allowedExperimentsJson})
- : _allowedExperimentsJson = allowedExperimentsJson;
+ @override
+ LinkedLanguageVersionBuilder get languageVersion => _languageVersion;
+
+ /// The language version of the SDK.
+ set languageVersion(LinkedLanguageVersionBuilder value) {
+ this._languageVersion = value;
+ }
+
+ PackageBundleSdkBuilder(
+ {String allowedExperimentsJson,
+ LinkedLanguageVersionBuilder languageVersion})
+ : _allowedExperimentsJson = allowedExperimentsJson,
+ _languageVersion = languageVersion;
/// Flush [informative] data recursively.
- void flushInformative() {}
+ void flushInformative() {
+ _languageVersion?.flushInformative();
+ }
/// Accumulate non-[informative] data into [signature].
void collectApiSignature(api_sig.ApiSignature signature) {
signature.addString(this._allowedExperimentsJson ?? '');
+ signature.addBool(this._languageVersion != null);
+ this._languageVersion?.collectApiSignature(signature);
}
fb.Offset finish(fb.Builder fbBuilder) {
fb.Offset offset_allowedExperimentsJson;
+ fb.Offset offset_languageVersion;
if (_allowedExperimentsJson != null) {
offset_allowedExperimentsJson =
fbBuilder.writeString(_allowedExperimentsJson);
}
+ if (_languageVersion != null) {
+ offset_languageVersion = _languageVersion.finish(fbBuilder);
+ }
fbBuilder.startTable();
if (offset_allowedExperimentsJson != null) {
fbBuilder.addOffset(0, offset_allowedExperimentsJson);
}
+ if (offset_languageVersion != null) {
+ fbBuilder.addOffset(1, offset_languageVersion);
+ }
return fbBuilder.endTable();
}
}
@@ -17843,6 +17866,7 @@
_PackageBundleSdkImpl(this._bc, this._bcOffset);
String _allowedExperimentsJson;
+ idl.LinkedLanguageVersion _languageVersion;
@override
String get allowedExperimentsJson {
@@ -17850,6 +17874,13 @@
const fb.StringReader().vTableGet(_bc, _bcOffset, 0, '');
return _allowedExperimentsJson;
}
+
+ @override
+ idl.LinkedLanguageVersion get languageVersion {
+ _languageVersion ??=
+ const _LinkedLanguageVersionReader().vTableGet(_bc, _bcOffset, 1, null);
+ return _languageVersion;
+ }
}
abstract class _PackageBundleSdkMixin implements idl.PackageBundleSdk {
@@ -17859,12 +17890,16 @@
if (allowedExperimentsJson != '') {
_result["allowedExperimentsJson"] = allowedExperimentsJson;
}
+ if (languageVersion != null) {
+ _result["languageVersion"] = languageVersion.toJson();
+ }
return _result;
}
@override
Map<String, Object> toMap() => {
"allowedExperimentsJson": allowedExperimentsJson,
+ "languageVersion": languageVersion,
};
@override
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index e948b37..211f5fb 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -1274,6 +1274,9 @@
table PackageBundleSdk {
/// The content of the `allowed_experiments.json` from SDK.
allowedExperimentsJson:string (id: 0);
+
+ /// The language version of the SDK.
+ languageVersion:LinkedLanguageVersion (id: 1);
}
/// Summary information about a top-level type inference error.
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 1eea7da..8f6deea 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -1912,6 +1912,10 @@
/// The content of the `allowed_experiments.json` from SDK.
@Id(0)
String get allowedExperimentsJson;
+
+ /// The language version of the SDK.
+ @Id(1)
+ LinkedLanguageVersion get languageVersion;
}
/// Summary information about a top-level type inference error.
diff --git a/pkg/analyzer/lib/src/summary/summary_sdk.dart b/pkg/analyzer/lib/src/summary/summary_sdk.dart
index 3315a88..80cd239 100644
--- a/pkg/analyzer/lib/src/summary/summary_sdk.dart
+++ b/pkg/analyzer/lib/src/summary/summary_sdk.dart
@@ -10,11 +10,12 @@
show DartUriResolver, Source, SourceFactory;
import 'package:analyzer/src/summary/idl.dart';
import 'package:analyzer/src/summary/package_bundle_reader.dart';
+import 'package:pub_semver/pub_semver.dart';
/// An implementation of [DartSdk] which provides analysis results for `dart:`
/// libraries from the given summary file. This implementation is limited and
/// suitable only for command-line tools, but not for IDEs - it does not
-/// implement [sdkLibraries], [sdkVersion], [uris] and [fromFileUri].
+/// implement [sdkLibraries], [uris] and [fromFileUri].
class SummaryBasedDartSdk implements DartSdk {
SummaryDataStore _dataStore;
InSummaryUriResolver _uriResolver;
@@ -41,7 +42,7 @@
@override
String get allowedExperimentsJson {
- return _bundle.sdk?.allowedExperimentsJson;
+ return _bundle.sdk.allowedExperimentsJson;
}
/// Return the [PackageBundle] for this SDK, not `null`.
@@ -58,6 +59,12 @@
}
@override
+ Version get languageVersion {
+ var version = _bundle.sdk.languageVersion;
+ return Version(version.major, version.minor, 0);
+ }
+
+ @override
List<SdkLibrary> get sdkLibraries {
throw UnimplementedError();
}
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
index d44f818..1807d8d 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
@@ -5,10 +5,12 @@
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/src/context/context.dart';
+import 'package:analyzer/src/dart/sdk/sdk.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:meta/meta.dart';
+import 'package:pub_semver/src/version.dart';
const String sdkRoot = '/sdk';
@@ -1069,6 +1071,7 @@
'io': 'const LibraryInfo("io/io.dart")',
'isolate': 'const LibraryInfo("isolate/isolate.dart")',
'math': 'const LibraryInfo("math/math.dart")',
+ '_internal': 'const LibraryInfo("_internal/internal.dart", categories: "")',
};
class MockSdk implements DartSdk {
@@ -1084,6 +1087,8 @@
@override
final List<SdkLibrary> sdkLibraries = [];
+ File _versionFile;
+
/// Optional [additionalLibraries] should have unique URIs, and paths in
/// their units are relative (will be put into `sdkRoot/lib`).
MockSdk({
@@ -1091,6 +1096,11 @@
AnalysisOptionsImpl analysisOptions,
List<MockSdkLibrary> additionalLibraries = const [],
}) : _analysisOptions = analysisOptions ?? AnalysisOptionsImpl() {
+ _versionFile = resourceProvider
+ .getFolder(resourceProvider.convertPath(sdkRoot))
+ .getChildAssumingFile('version');
+ _versionFile.writeAsStringSync('2.10.0');
+
for (MockSdkLibrary library in _LIBRARIES) {
var convertedLibrary = library._toProvider(resourceProvider);
sdkLibraries.add(convertedLibrary);
@@ -1101,7 +1111,7 @@
library.units.map(
(unit) {
var pathContext = resourceProvider.pathContext;
- var absoluteUri = pathContext.join(sdkRoot, unit.path);
+ var absoluteUri = pathContext.join(sdkRoot, 'lib', unit.path);
return MockSdkLibraryUnit(
unit.uriStr,
resourceProvider.convertPath(absoluteUri),
@@ -1126,6 +1136,13 @@
for (var e in _librariesDartEntries.entries) {
buffer.writeln('"${e.key}": ${e.value},');
}
+ for (var library in additionalLibraries) {
+ for (var unit in library.units) {
+ var name = unit.uriStr.substring(5);
+ var libraryInfo = 'const LibraryInfo("${unit.path}")';
+ buffer.writeln('"$name": $libraryInfo,');
+ }
+ }
buffer.writeln('};');
resourceProvider.newFile(
resourceProvider.convertPath(
@@ -1180,6 +1197,12 @@
}
@override
+ Version get languageVersion {
+ var sdkVersionStr = _versionFile.readAsStringSync();
+ return languageVersionFromSdkVersion(sdkVersionStr);
+ }
+
+ @override
String get sdkVersion => throw UnimplementedError();
@override
diff --git a/pkg/analyzer/lib/src/test_utilities/package_mixin.dart b/pkg/analyzer/lib/src/test_utilities/package_mixin.dart
index ffcf84c..7889ece 100644
--- a/pkg/analyzer/lib/src/test_utilities/package_mixin.dart
+++ b/pkg/analyzer/lib/src/test_utilities/package_mixin.dart
@@ -13,9 +13,40 @@
/// Create a fake 'js' package that can be used by tests.
void addJsPackage() {
- Folder lib = addPubPackage('js');
- newFile(join(lib.path, 'js.dart'), content: r'''
+ var rootFolder = getFolder('/.pub-cache/js');
+ PackagesContent.addJsPackageFiles(rootFolder);
+ addPubPackage('js');
+ }
+
+ /// Create a fake 'meta' package that can be used by tests.
+ void addMetaPackage() {
+ var rootFolder = getFolder('/.pub-cache/meta');
+ PackagesContent.addMetaPackageFiles(rootFolder);
+ addPubPackage('meta');
+ }
+
+ /// Return a newly created directory in which the contents of a pub package
+ /// with the given [packageName] can be written. The package will be added to
+ /// the package map so that the package can be referenced from the code being
+ /// analyzed.
+ Folder addPubPackage(String packageName) {
+ // TODO(brianwilkerson) Consider renaming this to `addPackage` and passing
+ // in a `PackageStyle` (pub, bazel, gn, build, plain) in order to support
+ // creating other styles of packages.
+ Folder lib = getFolder('/.pub-cache/$packageName/lib');
+ packageMap[packageName] = [lib];
+ return lib;
+ }
+}
+
+/// Helper for creating mock packages.
+class PackagesContent {
+ /// Create a fake 'js' package that can be used by tests.
+ static void addJsPackageFiles(Folder rootFolder) {
+ var libFolder = rootFolder.getChildAssumingFolder('lib');
+ libFolder.getChildAssumingFile('js.dart').writeAsStringSync(r'''
library js;
+
class JS {
const JS([String js]);
}
@@ -23,9 +54,9 @@
}
/// Create a fake 'meta' package that can be used by tests.
- void addMetaPackage() {
- Folder lib = addPubPackage('meta');
- newFile(join(lib.path, 'meta.dart'), content: r'''
+ static void addMetaPackageFiles(Folder rootFolder) {
+ var libFolder = rootFolder.getChildAssumingFolder('lib');
+ libFolder.getChildAssumingFile('meta.dart').writeAsStringSync(r'''
library meta;
const _AlwaysThrows alwaysThrows = const _AlwaysThrows();
@@ -77,17 +108,4 @@
}
''');
}
-
- /// Return a newly created directory in which the contents of a pub package
- /// with the given [packageName] can be written. The package will be added to
- /// the package map so that the package can be referenced from the code being
- /// analyzed.
- Folder addPubPackage(String packageName) {
- // TODO(brianwilkerson) Consider renaming this to `addPackage` and passing
- // in a `PackageStyle` (pub, bazel, gn, build, plain) in order to support
- // creating other styles of packages.
- Folder lib = getFolder('/.pub-cache/$packageName/lib');
- packageMap[packageName] = [lib];
- return lib;
- }
}
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 4ac4a2b..44445f6 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
name: analyzer
-version: 0.39.16-dev
+version: 0.39.16
description: This package provides a library that performs static analysis of Dart code.
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer
diff --git a/pkg/analyzer/test/id_tests/constant_test.dart b/pkg/analyzer/test/id_tests/constant_test.dart
index 9a78106..ff39009 100644
--- a/pkg/analyzer/test/id_tests/constant_test.dart
+++ b/pkg/analyzer/test/id_tests/constant_test.dart
@@ -93,28 +93,31 @@
return 'Symbol(${value.toSymbolValue()})';
} else if (type.isDartCoreSet) {
var elements = value.toSetValue().map(_stringify).join(',');
- return 'Set<${type.typeArguments[0]}>($elements)';
+ return '${_stringifyType(type)}($elements)';
} else if (type.isDartCoreList) {
var elements = value.toListValue().map(_stringify).join(',');
- return 'List<${type.typeArguments[0]}>($elements)';
+ return '${_stringifyType(type)}($elements)';
} else if (type.isDartCoreMap) {
- var typeArguments = type.typeArguments.join(',');
var elements = value.toMapValue().entries.map((entry) {
var key = _stringify(entry.key);
var value = _stringify(entry.value);
return '$key:$value';
}).join(',');
- return 'Map<$typeArguments>($elements)';
+ return '${_stringifyType(type)}($elements)';
} else {
// TODO(paulberry): Add `isDartCoreType` to properly recognize type
// literal constants.
- return 'TypeLiteral(${value.toTypeValue()})';
+ return 'TypeLiteral(${_stringifyType(value.toTypeValue())})';
}
// TODO(paulberry): Support object constants.
} else if (type is FunctionType) {
var element = value.toFunctionValue();
- return 'Function(${element.name},type=${value.type})';
+ return 'Function(${element.name},type=${_stringifyType(value.type)})';
}
throw UnimplementedError('_stringify for type $type');
}
+
+ String _stringifyType(DartType type) {
+ return type.getDisplayString(withNullability: true);
+ }
}
diff --git a/pkg/analyzer/test/src/context/builder_test.dart b/pkg/analyzer/test/src/context/builder_test.dart
index 3016530..14729ad 100644
--- a/pkg/analyzer/test/src/context/builder_test.dart
+++ b/pkg/analyzer/test/src/context/builder_test.dart
@@ -67,19 +67,9 @@
windows: resourceProvider.pathContext.style == path.windows.style);
}
- void createDefaultSdk(Folder sdkDir) {
- defaultSdkPath = join(sdkDir.path, 'default', 'sdk');
- String librariesFilePath = join(defaultSdkPath, 'lib', '_internal',
- 'sdk_library_metadata', 'lib', 'libraries.dart');
- newFile(librariesFilePath, content: r'''
-const Map<String, LibraryInfo> libraries = const {
- "async": const LibraryInfo("async/async.dart"),
- "core": const LibraryInfo("core/core.dart"),
-};
-''');
- sdkManager = DartSdkManager(defaultSdkPath);
- builder = ContextBuilder(resourceProvider, sdkManager, contentCache,
- options: builderOptions);
+ void createDefaultSdk() {
+ defaultSdkPath = convertPath(sdkRoot);
+ MockSdk(resourceProvider: resourceProvider);
}
void setUp() {
@@ -347,8 +337,7 @@
void test_createSourceFactory_noProvider_packages_embedder_noExtensions() {
String rootPath = convertPath('/root');
- Folder rootFolder = getFolder(rootPath);
- createDefaultSdk(rootFolder);
+ createDefaultSdk();
String projectPath = join(rootPath, 'project');
String packageFilePath = join(projectPath, '.packages');
@@ -387,8 +376,7 @@
void test_createSourceFactory_noProvider_packages_noEmbedder_noExtensions() {
String rootPath = convertPath('/root');
- Folder rootFolder = getFolder(rootPath);
- createDefaultSdk(rootFolder);
+ createDefaultSdk();
String projectPath = join(rootPath, 'project');
String packageFilePath = join(projectPath, '.packages');
String packageA = join(rootPath, 'pkgs', 'a');
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index e16cbbf..ae592bc 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -120,6 +120,48 @@
assertErrorsInResolvedUnit(result, []);
}
+ test_changeFile_resolution_missingChangeFileForPart() async {
+ newFile(aPath, content: r'''
+part 'b.dart';
+
+var b = B(0);
+''');
+
+ result = await resolveFile(aPath);
+ assertErrorsInResolvedUnit(result, [
+ error(CompileTimeErrorCode.URI_DOES_NOT_EXIST, 5, 8),
+ error(CompileTimeErrorCode.UNDEFINED_FUNCTION, 24, 1),
+ ]);
+
+ // Update a.dart, and notify the resolver. We need this to have at least
+ // one change, so that we decided to rebuild the library summary.
+ newFile(aPath, content: r'''
+part 'b.dart';
+
+var b = B(1);
+''');
+ fileResolver.changeFile(aPath);
+
+ // Update b.dart, but do not notify the resolver.
+ // If we try to read it now, it will throw.
+ newFile(bPath, content: r'''
+part of 'a.dart';
+
+class B {
+ B(int _);
+}
+''');
+
+ expect(() async {
+ await resolveFile(aPath);
+ }, throwsStateError);
+
+ // Notify the resolver about b.dart, it is OK now.
+ fileResolver.changeFile(bPath);
+ result = await resolveFile(aPath);
+ assertErrorsInResolvedUnit(result, []);
+ }
+
test_changePartFile_refreshedFiles() async {
newFile(aPath, content: r'''
part 'b.dart';
diff --git a/pkg/analyzer/test/src/dart/resolution/assignment_test.dart b/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
index 4b8a397..629a69a 100644
--- a/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
@@ -8,7 +8,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +17,7 @@
}
@reflectiveTest
-class AssignmentDriverResolutionTest extends DriverResolutionTest {
+class AssignmentDriverResolutionTest extends PubPackageResolutionTest {
test_compound_indexExpression() async {
await resolveTestCode(r'''
main() {
diff --git a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
index 495c89a..a51644b 100644
--- a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
@@ -10,7 +10,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +19,7 @@
}
@reflectiveTest
-class AstRewriteMethodInvocationTest extends DriverResolutionTest {
+class AstRewriteMethodInvocationTest extends PubPackageResolutionTest {
test_targetNull_cascade() async {
await assertNoErrorsInCode(r'''
class A {
@@ -95,7 +95,7 @@
}
test_targetPrefixedIdentifier_prefix_class_constructor() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {
A.named(T a);
}
@@ -125,7 +125,7 @@
}
test_targetPrefixedIdentifier_prefix_class_constructor_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {
A.named(int a);
}
@@ -163,7 +163,7 @@
}
test_targetPrefixedIdentifier_prefix_getter_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
A get foo => A();
class A {
@@ -263,7 +263,7 @@
}
test_targetSimpleIdentifier_prefix_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T, U> {
A(int a);
}
@@ -292,7 +292,7 @@
}
test_targetSimpleIdentifier_prefix_extension() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E<T> on A {
@@ -321,7 +321,7 @@
}
test_targetSimpleIdentifier_prefix_function() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void A<T, U>(int a) {}
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
index 456b8a8..fe0faac 100644
--- a/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/await_expression_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class AwaitExpressionResolutionTest extends DriverResolutionTest {
+class AwaitExpressionResolutionTest extends PubPackageResolutionTest {
test_future() async {
await assertNoErrorsInCode(r'''
import 'dart:async';
@@ -42,8 +41,8 @@
}
@reflectiveTest
-class AwaitExpressionResolutionWithNullSafetyTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class AwaitExpressionResolutionWithNullSafetyTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_futureOrQ() async {
await assertNoErrorsInCode(r'''
import 'dart:async';
diff --git a/pkg/analyzer/test/src/dart/resolution/binary_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/binary_expression_test.dart
index e9cb047..f974f35 100644
--- a/pkg/analyzer/test/src/dart/resolution/binary_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/binary_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class BinaryExpressionResolutionTest extends DriverResolutionTest {
+class BinaryExpressionResolutionTest extends PubPackageResolutionTest {
test_bangEq() async {
await assertNoErrorsInCode(r'''
f(int a, int b) {
@@ -230,8 +229,8 @@
}
@reflectiveTest
-class BinaryExpressionResolutionWithNullSafetyTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class BinaryExpressionResolutionWithNullSafetyTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_ifNull_left_nullableContext() async {
await assertNoErrorsInCode(r'''
T f<T>(T t) => t;
diff --git a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
index 07570ba..d2ae9a5 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
@@ -6,7 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../../generated/elements_types_mixin.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ClassAliasDriverResolutionTest extends DriverResolutionTest
+class ClassAliasDriverResolutionTest extends PubPackageResolutionTest
with ElementsTypesMixin {
test_defaultConstructor() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/class_test.dart b/pkg/analyzer/test/src/dart/resolution/class_test.dart
index 3b4f1a2..5f9af9f 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_test.dart
@@ -8,7 +8,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../../generated/elements_types_mixin.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +17,7 @@
}
@reflectiveTest
-class ClassDriverResolutionTest extends DriverResolutionTest
+class ClassDriverResolutionTest extends PubPackageResolutionTest
with ElementsTypesMixin {
test_element_allSupertypes() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/comment_test.dart b/pkg/analyzer/test/src/dart/resolution/comment_test.dart
index 1d275e6..0f894bf 100644
--- a/pkg/analyzer/test/src/dart/resolution/comment_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/comment_test.dart
@@ -4,7 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -13,7 +13,7 @@
}
@reflectiveTest
-class CommentDriverResolutionTest extends DriverResolutionTest {
+class CommentDriverResolutionTest extends PubPackageResolutionTest {
test_error_unqualifiedReferenceToNonLocalStaticMember() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/constant_test.dart b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
index 1c07958..11c9ec8 100644
--- a/pkg/analyzer/test/src/dart/resolution/constant_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
@@ -11,8 +11,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -22,9 +21,9 @@
}
@reflectiveTest
-class ConstantResolutionTest extends DriverResolutionTest {
+class ConstantResolutionTest extends PubPackageResolutionTest {
test_constantValue_defaultParameter_noDefaultValue() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
const A({int p});
}
@@ -106,7 +105,7 @@
}
test_functionType_element_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F<T> = T Function(int);
const a = C<F<double>>();
@@ -139,7 +138,7 @@
}
test_imported_prefixedIdentifier_staticField_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const a = C.f;
class C {
@@ -156,7 +155,7 @@
}
test_imported_prefixedIdentifier_staticField_extension() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const a = E.f;
extension E on int {
@@ -173,7 +172,7 @@
}
test_imported_prefixedIdentifier_staticField_mixin() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const a = M.f;
class C {}
@@ -192,7 +191,7 @@
}
test_imported_super_defaultFieldFormalParameter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
import 'test.dart';
class A {
@@ -213,7 +212,7 @@
}
''');
- result = await resolveFile(convertPath('/test/lib/a.dart'));
+ result = await resolveFile(convertPath('$testPackageLibPath/a.dart'));
assertErrorsInResolvedUnit(result, []);
var bElement = FindElement(result.unit).field('b') as ConstVariableElement;
@@ -236,7 +235,7 @@
}
@reflectiveTest
-class ConstantResolutionWithNullSafetyTest extends DriverResolutionTest
+class ConstantResolutionWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_context_eliminateTypeVariables() async {
await assertNoErrorsInCode(r'''
@@ -260,7 +259,7 @@
}
test_field_optIn_fromOptOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static const foo = 42;
}
@@ -278,7 +277,7 @@
}
test_fromEnvironment_optOut_fromOptIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
const cBool = const bool.fromEnvironment('foo', defaultValue: false);
@@ -304,7 +303,7 @@
}
test_topLevelVariable_optIn_fromOptOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const foo = 42;
''');
@@ -321,11 +320,11 @@
}
test_topLevelVariable_optOut2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const a = 42;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
import 'a.dart';
const b = a;
@@ -344,7 +343,7 @@
}
test_topLevelVariable_optOut3() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
const a = int.fromEnvironment('a', defaultValue: 42);
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/constructor_test.dart b/pkg/analyzer/test/src/dart/resolution/constructor_test.dart
index efb4867..fac300f 100644
--- a/pkg/analyzer/test/src/dart/resolution/constructor_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/dart/element/type.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstructorResolutionTest extends DriverResolutionTest {
+class ConstructorResolutionTest extends PubPackageResolutionTest {
test_factory_redirect_generic_instantiated() async {
await assertNoErrorsInCode(r'''
class A<T> implements B<T> {
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
new file mode 100644
index 0000000..6774589
--- /dev/null
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -0,0 +1,211 @@
+// Copyright (c) 2020, 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 'dart:async';
+
+import 'package:analyzer/dart/analysis/analysis_context.dart';
+import 'package:analyzer/dart/analysis/analysis_context_collection.dart';
+import 'package:analyzer/dart/analysis/results.dart';
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/src/dart/analysis/analysis_context_collection.dart';
+import 'package:analyzer/src/dart/analysis/experiments.dart';
+import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
+import 'package:analyzer/src/test_utilities/mock_sdk.dart';
+import 'package:analyzer/src/test_utilities/package_mixin.dart';
+import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
+import 'package:linter/src/rules.dart';
+import 'package:meta/meta.dart';
+
+import 'resolution.dart';
+
+class AnalysisOptionsFileConfig {
+ final List<String> experiments;
+ final bool implicitCasts;
+ final List<String> lints;
+ final bool strictInference;
+ final bool strictRawTypes;
+
+ AnalysisOptionsFileConfig({
+ this.experiments,
+ this.implicitCasts,
+ this.lints,
+ this.strictInference,
+ this.strictRawTypes,
+ });
+
+ String toContent() {
+ var buffer = StringBuffer();
+
+ if (experiments != null ||
+ strictRawTypes != null ||
+ strictInference != null ||
+ implicitCasts != null) {
+ buffer.writeln('analyzer:');
+
+ if (experiments != null) {
+ buffer.writeln(' enable-experiment:');
+ for (var experiment in experiments) {
+ buffer.writeln(' - $experiment');
+ }
+ }
+
+ buffer.writeln(' language:');
+ if (strictRawTypes != null) {
+ buffer.writeln(' strict-raw-types: $strictRawTypes');
+ }
+ if (strictInference != null) {
+ buffer.writeln(' strict-inference: $strictInference');
+ }
+
+ if (implicitCasts != null) {
+ buffer.writeln(' strong-mode:');
+ buffer.writeln(' implicit-casts: $implicitCasts');
+ }
+ }
+
+ if (lints != null) {
+ buffer.writeln('linter:');
+ buffer.writeln(' rules:');
+ for (var lint in lints) {
+ buffer.writeln(' - $lint');
+ }
+ }
+
+ return buffer.toString();
+ }
+}
+
+/// [AnalysisContextCollection] based implementation of [ResolutionTest].
+abstract class ContextResolutionTest
+ with ResourceProviderMixin, ResolutionTest {
+ static bool _lintRulesAreRegistered = false;
+
+ AnalysisContextCollection _analysisContextCollection;
+
+ List<MockSdkLibrary> get additionalMockSdkLibraries => [];
+
+ List<String> get collectionIncludedPaths;
+
+ AnalysisContext contextFor(String path) {
+ if (_analysisContextCollection == null) {
+ _createAnalysisContexts();
+ }
+
+ return _analysisContextCollection.contextFor(path);
+ }
+
+ @override
+ File newFile(String path, {String content = ''}) {
+ if (_analysisContextCollection != null && !path.endsWith('.dart')) {
+ throw StateError('Only dart files can be changed after analysis.');
+ }
+
+ return super.newFile(path, content: content);
+ }
+
+ @override
+ Future<ResolvedUnitResult> resolveFile(String path) {
+ var analysisContext = contextFor(path);
+ var session = analysisContext.currentSession;
+ return session.getResolvedUnit(path);
+ }
+
+ @mustCallSuper
+ void setUp() {
+ if (!_lintRulesAreRegistered) {
+ registerLintRules();
+ _lintRulesAreRegistered = true;
+ }
+
+ MockSdk(
+ resourceProvider: resourceProvider,
+ additionalLibraries: additionalMockSdkLibraries,
+ );
+ }
+
+ /// Create all analysis contexts in [collectionIncludedPaths].
+ void _createAnalysisContexts() {
+ _analysisContextCollection = AnalysisContextCollectionImpl(
+ includedPaths: collectionIncludedPaths.map(convertPath).toList(),
+ enableIndex: true,
+ resourceProvider: resourceProvider,
+ sdkPath: convertPath('/sdk'),
+ );
+ }
+}
+
+class PubPackageResolutionTest extends ContextResolutionTest {
+ AnalysisOptionsImpl get analysisOptions {
+ var path = convertPath(testPackageRootPath);
+ return contextFor(path).analysisOptions;
+ }
+
+ @override
+ List<String> get collectionIncludedPaths => [workspaceRootPath];
+
+ @override
+ String get testFilePath => '$testPackageLibPath/test.dart';
+
+ String get testPackageLibPath => '$testPackageRootPath/lib';
+
+ String get testPackageRootPath => '$workspaceRootPath/test';
+
+ String get workspaceRootPath => '/home';
+
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfig({});
+ }
+
+ void writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig builder,
+ ) {
+ newFile(
+ '$testPackageRootPath/analysis_options.yaml',
+ content: builder.toContent(),
+ );
+ }
+
+ void writeTestPackageConfig(Map<String, String> nameToRootPath) {
+ nameToRootPath = {'test': testPackageRootPath, ...nameToRootPath};
+
+ var packagesFileBuffer = StringBuffer();
+ for (var entry in nameToRootPath.entries) {
+ var name = entry.key;
+ var rootPath = entry.value;
+ packagesFileBuffer.writeln(name + ':' + toUriStr('$rootPath/lib'));
+ }
+ // TODO(scheglov) Use package_config.json
+ newFile(
+ '$testPackageRootPath/.packages',
+ content: '$packagesFileBuffer',
+ );
+ }
+
+ void writeTestPackageConfigWithMeta() {
+ var path = '/packages/meta';
+ PackagesContent.addMetaPackageFiles(
+ getFolder(path),
+ );
+ writeTestPackageConfig({'meta': path});
+ }
+}
+
+mixin WithNullSafetyMixin on PubPackageResolutionTest {
+ @override
+ bool get typeToStringWithNullability => true;
+
+ @nonVirtual
+ @override
+ void setUp() {
+ super.setUp();
+
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ experiments: [EnableString.non_nullable],
+ ),
+ );
+ }
+}
diff --git a/pkg/analyzer/test/src/dart/resolution/enum_test.dart b/pkg/analyzer/test/src/dart/resolution/enum_test.dart
index cf358a3..c4dc7ed 100644
--- a/pkg/analyzer/test/src/dart/resolution/enum_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/enum_test.dart
@@ -5,7 +5,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class EnumDriverResolutionTest extends DriverResolutionTest {
+class EnumDriverResolutionTest extends PubPackageResolutionTest {
test_inference_listLiteral() async {
await assertNoErrorsInCode(r'''
enum E1 {a, b}
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
index b4414b36..0dc26d5 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
@@ -9,8 +9,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -28,7 +27,7 @@
/// Tests that show that extension declarations and the members inside them are
/// resolved correctly.
@reflectiveTest
-class ExtensionMethodsDeclarationTest extends DriverResolutionTest {
+class ExtensionMethodsDeclarationTest extends PubPackageResolutionTest {
@override
List<MockSdkLibrary> get additionalMockSdkLibraries => [
MockSdkLibrary([
@@ -39,12 +38,14 @@
class A {}
'''),
+ ]),
+ MockSdkLibrary([
MockSdkLibraryUnit('dart:test2', 'test2/test2.dart', r'''
extension E on Object {
int get a => 1;
}
'''),
- ])
+ ]),
];
test_constructor() async {
@@ -136,7 +137,7 @@
}
test_visibility_hidden() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int a = 1;
@@ -154,7 +155,7 @@
}
test_visibility_notShown() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int a = 1;
@@ -172,7 +173,7 @@
}
test_visibility_shadowed_byClass() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int get a => 1;
@@ -193,12 +194,12 @@
}
test_visibility_shadowed_byImport() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
extension E on Object {
int get a => 1;
}
''');
- newFile('/test/lib/lib2.dart', content: '''
+ newFile('$testPackageLibPath/lib2.dart', content: '''
class E {}
class A {}
''');
@@ -217,7 +218,7 @@
}
test_visibility_shadowed_byLocal_imported() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int get a => 1;
@@ -258,7 +259,7 @@
}
test_visibility_shadowed_byTopLevelVariable() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int get a => 1;
@@ -279,7 +280,7 @@
}
test_visibility_shadowed_platformByNonPlatform() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
extension E on Object {
int get a => 1;
}
@@ -296,7 +297,7 @@
}
test_visibility_withPrefix() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
int get a => 1;
@@ -315,8 +316,8 @@
/// Tests that show that extension declarations and the members inside them are
/// resolved correctly.
@reflectiveTest
-class ExtensionMethodsDeclarationWithNullSafetyTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class ExtensionMethodsDeclarationWithNullSafetyTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_this_type_interface() async {
await assertNoErrorsInCode('''
extension E on int {
@@ -354,7 +355,7 @@
/// Tests that show that extension declarations support all of the possible
/// types in the `on` clause.
@reflectiveTest
-class ExtensionMethodsExtendedTypeTest extends DriverResolutionTest {
+class ExtensionMethodsExtendedTypeTest extends PubPackageResolutionTest {
test_named_generic() async {
await assertNoErrorsInCode('''
class C<T> {}
@@ -481,7 +482,7 @@
/// Tests that extension members can be correctly resolved when referenced
/// by code external to the extension declaration.
@reflectiveTest
-class ExtensionMethodsExternalReferenceTest extends DriverResolutionTest {
+class ExtensionMethodsExternalReferenceTest extends PubPackageResolutionTest {
/// Corresponds to: extension_member_resolution_t07
test_dynamicInvocation() async {
await assertNoErrorsInCode(r'''
@@ -1225,7 +1226,7 @@
}
test_static_field_importedWithPrefix() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
@@ -1263,7 +1264,7 @@
}
test_static_getter_importedWithPrefix() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
@@ -1301,7 +1302,7 @@
}
test_static_method_importedWithPrefix() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
@@ -1339,7 +1340,7 @@
}
test_static_setter_importedWithPrefix() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension E on C {
@@ -1681,7 +1682,7 @@
/// Tests that extension members can be correctly resolved when referenced
/// by code internal to (within) the extension declaration.
@reflectiveTest
-class ExtensionMethodsInternalReferenceTest extends DriverResolutionTest {
+class ExtensionMethodsInternalReferenceTest extends PubPackageResolutionTest {
test_instance_call() async {
await assertNoErrorsInCode('''
class C {}
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
index 32287ad..9bf497b 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
@@ -10,8 +10,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -21,7 +20,7 @@
}
@reflectiveTest
-class ExtensionOverrideTest extends DriverResolutionTest {
+class ExtensionOverrideTest extends PubPackageResolutionTest {
ExtensionElement extension;
ExtensionOverride extensionOverride;
@@ -72,7 +71,7 @@
}
test_call_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
int call(String s) => 0;
@@ -94,7 +93,7 @@
test_call_prefix_typeArguments() async {
// The test is failing because we're not yet doing type inference.
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
int call(T s) => 0;
@@ -170,7 +169,7 @@
}
test_getter_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
int get g => 0;
@@ -191,7 +190,7 @@
}
test_getter_prefix_typeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
int get g => 0;
@@ -242,7 +241,7 @@
}
test_method_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
void m() {}
@@ -263,7 +262,7 @@
}
test_method_prefix_typeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
void m() {}
@@ -331,7 +330,7 @@
}
test_operator_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
void operator +(int offset) {}
@@ -352,7 +351,7 @@
}
test_operator_prefix_typeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
void operator +(int offset) {}
@@ -403,7 +402,7 @@
}
test_setter_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
set s(int x) {}
@@ -424,7 +423,7 @@
}
test_setter_prefix_typeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
set s(int x) {}
@@ -477,7 +476,7 @@
}
test_setterAndGetter_prefix_noTypeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E on A {
int get s => 0;
@@ -499,7 +498,7 @@
}
test_setterAndGetter_prefix_typeArguments() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class A {}
extension E<T> on A {
int get s => 0;
diff --git a/pkg/analyzer/test/src/dart/resolution/field_test.dart b/pkg/analyzer/test/src/dart/resolution/field_test.dart
index 715c86b..90d814b 100644
--- a/pkg/analyzer/test/src/dart/resolution/field_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/field_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class FieldTest extends DriverResolutionTest {
+class FieldTest extends PubPackageResolutionTest {
test_type_inferred_int() async {
await resolveTestCode('''
class A {
@@ -60,9 +59,10 @@
}
@reflectiveTest
-class FieldWithNullSafetyTest extends FieldTest with WithNullSafetyMixin {
+class FieldWithNullSafetyTest extends PubPackageResolutionTest
+ with WithNullSafetyMixin {
test_type_inferred_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
index bccb3ad..1483cdc 100644
--- a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ForEachElementTest extends DriverResolutionTest {
+class ForEachElementTest extends PubPackageResolutionTest {
test_withDeclaration_scope() async {
await assertNoErrorsInCode(r'''
main() {
@@ -53,7 +52,7 @@
class ForEachElementWithNullSafetyTest extends ForEachElementTest
with WithNullSafetyMixin {
test_optIn_fromOptOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A implements Iterable<int> {
Iterator<int> iterator => throw 0;
}
@@ -73,7 +72,7 @@
}
@reflectiveTest
-class ForLoopElementTest extends DriverResolutionTest {
+class ForLoopElementTest extends PubPackageResolutionTest {
test_condition_rewrite() async {
await assertNoErrorsInCode(r'''
main(bool Function() b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/for_statement_test.dart b/pkg/analyzer/test/src/dart/resolution/for_statement_test.dart
index 74e9323..bce6cd2 100644
--- a/pkg/analyzer/test/src/dart/resolution/for_statement_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/for_statement_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
/// TODO(scheglov) Move other for-in tests here.
@reflectiveTest
-class ForEachStatementResolutionTest extends DriverResolutionTest {
+class ForEachStatementResolutionTest extends PubPackageResolutionTest {
test_iterable_missing() async {
await assertErrorsInCode(r'''
void f() {
@@ -79,7 +79,7 @@
}
@reflectiveTest
-class ForLoopStatementResolutionTest extends DriverResolutionTest {
+class ForLoopStatementResolutionTest extends PubPackageResolutionTest {
test_condition_rewrite() async {
await assertNoErrorsInCode(r'''
main(bool Function() b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart b/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
index 29e10c6..549f57a 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
@@ -4,7 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -13,7 +13,7 @@
}
@reflectiveTest
-class FunctionDeclarationResolutionTest extends DriverResolutionTest {
+class FunctionDeclarationResolutionTest extends PubPackageResolutionTest {
test_formalParameterScope_defaultValue() async {
await assertNoErrorsInCode('''
const foo = 0;
diff --git a/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
index 114f145..6d80f3d 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_expression_invocation_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class FunctionExpressionInvocationTest extends DriverResolutionTest {
+class FunctionExpressionInvocationTest extends PubPackageResolutionTest {
test_dynamic_withoutTypeArguments() async {
await assertNoErrorsInCode(r'''
main() {
@@ -52,7 +51,7 @@
@reflectiveTest
class FunctionExpressionInvocationWithNullSafetyTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_call_infer_fromArguments() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/function_type_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/function_type_alias_test.dart
index 7aef66f..b612327 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_type_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_type_alias_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class FunctionTypeAliasResolutionTest extends DriverResolutionTest {
+class FunctionTypeAliasResolutionTest extends PubPackageResolutionTest {
test_type_element() async {
await resolveTestCode(r'''
G<int> g;
diff --git a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
index e1ff7a0..3332d08 100644
--- a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class GenericFunctionTypeResolutionTest extends DriverResolutionTest {
+class GenericFunctionTypeResolutionTest extends PubPackageResolutionTest {
/// Test that when [GenericFunctionType] is used in a constant variable
/// initializer, analysis does not throw an exception; and that the next
/// [GenericFunctionType] is also handled correctly.
diff --git a/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
index 35e383a..8c2193c 100644
--- a/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
@@ -8,7 +8,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +17,7 @@
}
@reflectiveTest
-class GenericTypeAliasDriverResolutionTest extends DriverResolutionTest {
+class GenericTypeAliasDriverResolutionTest extends PubPackageResolutionTest {
test_genericFunctionTypeCannotBeTypeArgument_def_class() async {
await assertErrorsInCode(r'''
class C<T> {}
@@ -127,7 +127,7 @@
}
test_missingGenericFunction_imported_withPrefix() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F<T> = ;
''');
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/if_element_test.dart b/pkg/analyzer/test/src/dart/resolution/if_element_test.dart
index 027eb34..785f95a 100644
--- a/pkg/analyzer/test/src/dart/resolution/if_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/if_element_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class IfElementTest extends DriverResolutionTest {
+class IfElementTest extends PubPackageResolutionTest {
test_condition_rewrite() async {
await assertNoErrorsInCode(r'''
main(bool Function() b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/if_statement_test.dart b/pkg/analyzer/test/src/dart/resolution/if_statement_test.dart
index d80e0e2..7b647cb 100644
--- a/pkg/analyzer/test/src/dart/resolution/if_statement_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/if_statement_test.dart
@@ -4,7 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -13,7 +13,7 @@
}
@reflectiveTest
-class IfStatementResolutionTest extends DriverResolutionTest {
+class IfStatementResolutionTest extends PubPackageResolutionTest {
test_condition_rewrite() async {
await assertNoErrorsInCode(r'''
main(bool Function() b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/import_prefix_test.dart b/pkg/analyzer/test/src/dart/resolution/import_prefix_test.dart
index f71c1ba..66c665f 100644
--- a/pkg/analyzer/test/src/dart/resolution/import_prefix_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/import_prefix_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ImportPrefixDriverResolutionTest extends DriverResolutionTest {
+class ImportPrefixDriverResolutionTest extends PubPackageResolutionTest {
test_asExpression_expressionStatement() async {
await assertErrorsInCode(r'''
import 'dart:async' as p;
diff --git a/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart
index 7f0da6c..4cf9ec2 100644
--- a/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class IndexExpressionTest extends DriverResolutionTest {
+class IndexExpressionTest extends PubPackageResolutionTest {
test_read() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
index d7de1d4..d9eda13 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstanceCreationDriverResolutionTest extends DriverResolutionTest {
+class InstanceCreationDriverResolutionTest extends PubPackageResolutionTest {
test_error_newWithInvalidTypeParameters_implicitNew_inference_top() async {
await assertErrorsInCode(r'''
final foo = Map<int>();
@@ -58,7 +58,7 @@
}
test_error_wrongNumberOfTypeArgumentsConstructor_explicitNew_prefix() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
class Foo<X> {
Foo.bar();
}
@@ -117,7 +117,7 @@
}
test_error_wrongNumberOfTypeArgumentsConstructor_implicitNew_prefix() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
class Foo<X> {
Foo.bar();
}
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
index f25e552..a4d9df5 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
@@ -6,8 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class InstanceMemberInferenceClassTest extends DriverResolutionTest {
+class InstanceMemberInferenceClassTest extends PubPackageResolutionTest {
test_field_covariant_fromField() async {
await resolveTestCode('''
class A {
@@ -917,7 +916,7 @@
class InstanceMemberInferenceClassWithNullSafetyTest
extends InstanceMemberInferenceClassTest with WithNullSafetyMixin {
test_field_multiple_gettersSetters_final_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -939,7 +938,7 @@
}
test_field_multiple_gettersSetters_notFinal_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -961,7 +960,7 @@
}
test_field_single_getter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -979,7 +978,7 @@
}
test_field_single_setter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
set foo(int _);
@@ -997,7 +996,7 @@
}
test_getter_single_getter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -1015,7 +1014,7 @@
}
test_getter_single_setter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
set foo(int _);
@@ -1051,7 +1050,7 @@
}
test_method_parameter_required_single_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A {
void foo(int p) {}
@@ -1087,7 +1086,7 @@
}
test_method_return_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int foo();
@@ -1105,7 +1104,7 @@
}
test_setter_single_getter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -1123,7 +1122,7 @@
}
test_setter_single_setter_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
abstract class A {
set foo(int _);
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
index 15d4bf4..53579d1 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class InstanceMemberInferenceClassTest extends DriverResolutionTest {
+class InstanceMemberInferenceClassTest extends PubPackageResolutionTest {
test_invalid_inheritanceCycle() async {
await resolveTestCode('''
class A extends C {}
diff --git a/pkg/analyzer/test/src/dart/resolution/interpolation_string_test.dart b/pkg/analyzer/test/src/dart/resolution/interpolation_string_test.dart
index 9cd883a..4d02f28 100644
--- a/pkg/analyzer/test/src/dart/resolution/interpolation_string_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/interpolation_string_test.dart
@@ -7,7 +7,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class InterpolationStringTest extends DriverResolutionTest {
+class InterpolationStringTest extends PubPackageResolutionTest {
void test_contents() async {
var code = r'''
var bar;
diff --git a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
index 9d660a8..d1de9b1 100644
--- a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class LocalFunctionResolutionTest extends DriverResolutionTest {
+class LocalFunctionResolutionTest extends PubPackageResolutionTest {
test_element_block() async {
await assertNoErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
index 143af81..3545088 100644
--- a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
@@ -8,8 +8,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +18,7 @@
}
@reflectiveTest
-class LocalVariableResolutionTest extends DriverResolutionTest {
+class LocalVariableResolutionTest extends PubPackageResolutionTest {
test_demoteTypeParameterType() async {
await assertNoErrorsInCode('''
void f<T>(T a, T b) {
@@ -128,7 +127,7 @@
}
test_nonNullifyType() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
index 578f9b3..ab2e0b4 100644
--- a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
@@ -11,8 +11,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../summary/resolved_ast_printer.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -22,7 +21,7 @@
}
@reflectiveTest
-class MetadataResolutionTest extends DriverResolutionTest {
+class MetadataResolutionTest extends PubPackageResolutionTest {
test_onFieldFormal() async {
await assertNoErrorsInCode(r'''
class A {
@@ -62,14 +61,14 @@
}
test_otherLibrary_constructor_named() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
final int f;
const A.named(this.f);
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
import 'a.dart';
@A.named(42)
@@ -90,14 +89,14 @@
}
test_otherLibrary_constructor_unnamed() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
final int f;
const A(this.f);
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
import 'a.dart';
@A(42)
@@ -118,7 +117,7 @@
}
test_otherLibrary_implicitConst() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
final int f;
const A(this.f);
@@ -182,14 +181,14 @@
}
@reflectiveTest
-class MetadataResolutionWithNullSafetyTest extends DriverResolutionTest
+class MetadataResolutionWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
ImportFindElement get import_a {
return findElement.importFind('package:test/a.dart');
}
test_optIn_fromOptOut_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
const A(int a);
}
@@ -216,7 +215,7 @@
}
test_optIn_fromOptOut_class_constructor() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
final int a;
const A.named(this.a);
@@ -250,7 +249,7 @@
}
test_optIn_fromOptOut_class_constructor_withDefault() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
final int a;
const A.named({this.a = 42});
@@ -284,7 +283,7 @@
}
test_optIn_fromOptOut_class_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static const foo = 42;
}
@@ -313,7 +312,7 @@
}
test_optIn_fromOptOut_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const foo = 42;
''');
@@ -335,7 +334,7 @@
}
test_optIn_fromOptOut_prefix_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
const A(int a);
}
@@ -362,7 +361,7 @@
}
test_optIn_fromOptOut_prefix_class_constructor() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
const A.named(int a);
}
@@ -389,7 +388,7 @@
}
test_optIn_fromOptOut_prefix_class_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static const foo = 0;
}
@@ -416,7 +415,7 @@
}
test_optIn_fromOptOut_prefix_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const foo = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart b/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
index 96e12be..9f18387 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_declaration_test.dart
@@ -4,7 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -13,7 +13,7 @@
}
@reflectiveTest
-class MethodDeclarationResolutionTest extends DriverResolutionTest {
+class MethodDeclarationResolutionTest extends PubPackageResolutionTest {
test_formalParameterScope_defaultValue() async {
await assertNoErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
index b5d5f19..8925735 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
@@ -8,8 +8,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,12 +18,12 @@
}
@reflectiveTest
-class MethodInvocationResolutionTest extends DriverResolutionTest {
+class MethodInvocationResolutionTest extends PubPackageResolutionTest {
test_error_ambiguousImport_topFunction() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void foo(int _) {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
void foo(int _) {}
''');
@@ -45,10 +44,10 @@
}
test_error_ambiguousImport_topFunction_prefixed() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void foo(int _) {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
void foo(int _) {}
''');
@@ -331,7 +330,7 @@
}
test_error_prefixIdentifierNotFollowedByDot() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void foo() {}
''');
@@ -562,7 +561,7 @@
}
test_error_undefinedMethod_private() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo(int _) {}
}
@@ -987,7 +986,7 @@
}
test_hasReceiver_importPrefix_topFunction() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
T foo<T extends num>(T a, T b) => a;
''');
@@ -1012,7 +1011,7 @@
}
test_hasReceiver_importPrefix_topGetter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
T Function<T>(T a, T b) get foo => null;
''');
@@ -1181,7 +1180,7 @@
}
test_hasReceiver_prefixed_class_staticGetter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class C {
static double Function(int) get foo => null;
}
@@ -1213,7 +1212,7 @@
}
test_hasReceiver_prefixed_class_staticMethod() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class C {
static void foo(int _) => null;
}
@@ -1717,10 +1716,10 @@
}
@reflectiveTest
-class MethodInvocationResolutionWithNullSafetyTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class MethodInvocationResolutionWithNullSafetyTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_hasReceiver_deferredImportPrefix_loadLibrary_optIn_fromOptOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
index 5fcc5b5..75bd0f7 100644
--- a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
@@ -9,7 +9,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../../generated/elements_types_mixin.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class MixinDriverResolutionTest extends DriverResolutionTest
+class MixinDriverResolutionTest extends PubPackageResolutionTest
with ElementsTypesMixin {
test_accessor_getter() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/namespace_test.dart b/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
index 96694a8..30c9944 100644
--- a/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,9 +14,9 @@
}
@reflectiveTest
-class ImportResolutionTest extends DriverResolutionTest {
+class ImportResolutionTest extends PubPackageResolutionTest {
test_overrideCoreType_Never() async {
- newFile('/test/lib/declares_never.dart', content: '''
+ newFile('$testPackageLibPath/declares_never.dart', content: '''
class Never {}
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
index b8f394f..08048f9 100644
--- a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
@@ -8,8 +8,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +18,8 @@
}
@reflectiveTest
-class NonNullableTest extends DriverResolutionTest with WithNullSafetyMixin {
+class NonNullableTest extends PubPackageResolutionTest
+ with WithNullSafetyMixin {
test_class_hierarchy() async {
await assertNoErrorsInCode('''
class A {}
@@ -60,7 +60,7 @@
}
test_library_typeProvider_typeSystem() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
await resolveTestCode(r'''
@@ -435,7 +435,7 @@
}
@reflectiveTest
-class NullableTest extends DriverResolutionTest {
+class NullableTest extends PubPackageResolutionTest {
@override
bool get typeToStringWithNullability => true;
diff --git a/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart b/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
index cdb8590..cb554a1b 100644
--- a/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
@@ -7,7 +7,7 @@
import 'package:analyzer/src/dart/element/element.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class OptionalConstDriverResolutionTest extends DriverResolutionTest {
+class OptionalConstDriverResolutionTest extends PubPackageResolutionTest {
Map<String, LibraryElement> libraries = {};
LibraryElement get libraryA => libraries['package:test/a.dart'];
@@ -112,7 +112,7 @@
}
test_prefixed_unnamed_generic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class C<T> {
const C();
}
@@ -167,7 +167,7 @@
Future<InstanceCreationExpression> _resolveImplicitConst(String expr,
{String prefix}) async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
class A {
const A();
const A.named();
@@ -179,12 +179,12 @@
''');
if (prefix != null) {
- newFile('/test/lib/b.dart', content: '''
+ newFile('$testPackageLibPath/b.dart', content: '''
import 'a.dart' as $prefix;
const a = $expr;
''');
} else {
- newFile('/test/lib/b.dart', content: '''
+ newFile('$testPackageLibPath/b.dart', content: '''
import 'a.dart';
const a = $expr;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
index 0dd01f6..74fe485 100644
--- a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
@@ -6,8 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class PostfixExpressionResolutionTest extends DriverResolutionTest {
+class PostfixExpressionResolutionTest extends PubPackageResolutionTest {
test_dec_localVariable() async {
await assertNoErrorsInCode(r'''
f(int x) {
diff --git a/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart b/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
index 73b9d2b..fbf0c0c 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
@@ -7,7 +7,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,9 +16,9 @@
}
@reflectiveTest
-class PrefixElementTest extends DriverResolutionTest {
+class PrefixElementTest extends PubPackageResolutionTest {
test_scope_lookup() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
@@ -44,7 +44,7 @@
}
test_scope_lookup2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
@@ -68,11 +68,11 @@
}
test_scope_lookup2_ambiguous_notSdk_both() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
var foo = 1.2;
''');
@@ -107,7 +107,7 @@
}
test_scope_lookup2_ambiguous_notSdk_first() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var pi = 4;
''');
@@ -129,7 +129,7 @@
}
test_scope_lookup2_ambiguous_notSdk_second() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var pi = 4;
''');
@@ -151,11 +151,11 @@
}
test_scope_lookup2_ambiguous_same() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
export 'a.dart';
''');
@@ -182,11 +182,11 @@
}
test_scope_lookup2_differentPrefix() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
var bar = 0;
''');
@@ -278,11 +278,11 @@
}
test_scope_lookup_ambiguous_notSdk_both() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
var foo = 1.2;
''');
@@ -319,7 +319,7 @@
}
test_scope_lookup_ambiguous_notSdk_first() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var pi = 4;
''');
@@ -342,7 +342,7 @@
}
test_scope_lookup_ambiguous_notSdk_second() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var pi = 4;
''');
@@ -365,11 +365,11 @@
}
test_scope_lookup_ambiguous_same() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
export 'a.dart';
''');
@@ -398,11 +398,11 @@
}
test_scope_lookup_differentPrefix() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
var foo = 0;
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
var bar = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
index d32b3cb..2cb17f3 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class PrefixExpressionResolutionTest extends DriverResolutionTest {
+class PrefixExpressionResolutionTest extends PubPackageResolutionTest {
test_bang_bool_context() async {
await assertNoErrorsInCode(r'''
T f<T>() {
diff --git a/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart b/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
index 9222211..382928b 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class PrefixedIdentifierResolutionTest extends DriverResolutionTest {
+class PrefixedIdentifierResolutionTest extends PubPackageResolutionTest {
test_dynamic_explicitCore_withPrefix() async {
await assertNoErrorsInCode(r'''
import 'dart:core' as mycore;
@@ -34,7 +33,7 @@
}
test_implicitCall_tearOff() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int call() => 0;
}
@@ -62,7 +61,7 @@
class PrefixedIdentifierResolutionWithNullSafetyTest
extends PrefixedIdentifierResolutionTest with WithNullSafetyMixin {
test_deferredImportPrefix_loadLibrary_optIn_fromOptOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
@@ -88,7 +87,7 @@
}
test_implicitCall_tearOff_nullable() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int call() => 0;
}
diff --git a/pkg/analyzer/test/src/dart/resolution/property_access_test.dart b/pkg/analyzer/test/src/dart/resolution/property_access_test.dart
index b57b14e..1bf149e 100644
--- a/pkg/analyzer/test/src/dart/resolution/property_access_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/property_access_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class PropertyAccessResolutionTest extends DriverResolutionTest {
+class PropertyAccessResolutionTest extends PubPackageResolutionTest {
test_tearOff_method() async {
await assertNoErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart
index f67b736..a592c91 100644
--- a/pkg/analyzer/test/src/dart/resolution/resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart
@@ -79,6 +79,8 @@
InterfaceType get stringType => typeProvider.stringType;
+ String get testFilePath => '/test/lib/test.dart';
+
TypeProvider get typeProvider => result.typeProvider;
TypeSystemImpl get typeSystem => result.typeSystem;
@@ -89,7 +91,7 @@
VoidType get voidType => VoidTypeImpl.instance;
void addTestFile(String content) {
- newFile('/test/lib/test.dart', content: content);
+ newFile(testFilePath, content: content);
}
void assertAssignment(
@@ -772,7 +774,7 @@
}
Future<void> resolveTestFile() async {
- var path = convertPath('/test/lib/test.dart');
+ var path = convertPath(testFilePath);
result = await resolveFile(path);
findNode = FindNode(result.content, result.unit);
findElement = FindElement(result.unit);
diff --git a/pkg/analyzer/test/src/dart/resolution/simple_identifier_test.dart b/pkg/analyzer/test/src/dart/resolution/simple_identifier_test.dart
index 732f7b1..76881d5 100644
--- a/pkg/analyzer/test/src/dart/resolution/simple_identifier_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/simple_identifier_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class SimpleIdentifierResolutionTest extends DriverResolutionTest {
+class SimpleIdentifierResolutionTest extends PubPackageResolutionTest {
test_dynamic_explicitCore() async {
await assertNoErrorsInCode(r'''
import 'dart:core';
diff --git a/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
index 009a713..896aa45 100644
--- a/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class TopLevelVariableTest extends DriverResolutionTest {
+class TopLevelVariableTest extends PubPackageResolutionTest {
test_type_inferred_int() async {
await resolveTestCode('''
var v = 0;
@@ -55,7 +54,7 @@
class TopLevelVariableWithNullSafetyTest extends TopLevelVariableTest
with WithNullSafetyMixin {
test_type_inferred_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart b/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
index cc28da8..77fa53c 100644
--- a/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TopTypeInferenceDriverResolutionTest extends DriverResolutionTest {
+class TopTypeInferenceDriverResolutionTest extends PubPackageResolutionTest {
test_referenceInstanceVariable_withDeclaredType() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/dart/resolution/try_statement_test.dart b/pkg/analyzer/test/src/dart/resolution/try_statement_test.dart
index 781cbf9..d3f8c6b 100644
--- a/pkg/analyzer/test/src/dart/resolution/try_statement_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/try_statement_test.dart
@@ -5,22 +5,17 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(TryStatementTest);
- defineReflectiveTests(TryStatementNullSafetyTest);
+ defineReflectiveTests(TryStatementWithNullSafetyTest);
});
}
@reflectiveTest
-class TryStatementNullSafetyTest extends TryStatementTest
- with WithNullSafetyMixin {}
-
-@reflectiveTest
-class TryStatementTest extends DriverResolutionTest {
+class TryStatementTest extends PubPackageResolutionTest {
test_catch_withoutType() async {
await assertNoErrorsInCode(r'''
main() {
@@ -68,3 +63,7 @@
expect(node.stackTraceParameter.staticElement, st);
}
}
+
+@reflectiveTest
+class TryStatementWithNullSafetyTest extends TryStatementTest
+ with WithNullSafetyMixin {}
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
index 09430fa..e3dc7da 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/collection_elements_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ForElementWithNullSafetyTest extends DriverResolutionTest
+class ForElementWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_list_awaitForIn_dynamic_downward() async {
await resolveTestCode('''
@@ -194,7 +193,7 @@
}
@reflectiveTest
-class IfElementWithNullSafetyTest extends DriverResolutionTest
+class IfElementWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_list_downward() async {
await resolveTestCode('''
@@ -231,7 +230,7 @@
}
@reflectiveTest
-class SpreadElementWithNullSafetyTest extends DriverResolutionTest
+class SpreadElementWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_list_downward() async {
await resolveTestCode('''
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/conditional_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/conditional_expression_test.dart
index e0b45c8..ac8f412 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/conditional_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/conditional_expression_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class ConditionalExpressionTest extends DriverResolutionTest {
+class ConditionalExpressionTest extends PubPackageResolutionTest {
test_upward() async {
await resolveTestCode('''
void f(bool a, int b, int c) {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/equality_expressions_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/equality_expressions_test.dart
index 9ce664c..9bca502 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/equality_expressions_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/equality_expressions_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class EqualTest extends DriverResolutionTest {
+class EqualTest extends PubPackageResolutionTest {
test_simple() async {
await resolveTestCode('''
void f(Object a, Object b) {
@@ -33,7 +32,7 @@
class EqualWithNullSafetyTest extends EqualTest with WithNullSafetyMixin {}
@reflectiveTest
-class NotEqualTest extends DriverResolutionTest {
+class NotEqualTest extends PubPackageResolutionTest {
test_simple() async {
await resolveTestCode('''
void f(Object a, Object b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/extension_methods_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/extension_methods_test.dart
index c3444e6..75a5b52 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/extension_methods_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/extension_methods_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionMethodsTest extends DriverResolutionTest {
+class ExtensionMethodsTest extends PubPackageResolutionTest {
test_implicit_getter() async {
await assertNoErrorsInCode('''
class A<T> {}
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
index 84ca28f..4ac90c4 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class FunctionExpressionTest extends DriverResolutionTest {
+class FunctionExpressionTest extends PubPackageResolutionTest {
test_contextFunctionType_returnType_async_blockBody_futureOrVoid() async {
var expectedErrors = expectedErrorsByNullability(
nullable: [
@@ -344,7 +343,7 @@
}
test_noContext_returnType_sync_blockBody_notNullable_switch_onEnum_imported() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
enum E { a, b }
''');
@@ -463,7 +462,7 @@
class FunctionExpressionWithNullSafetyTest extends FunctionExpressionTest
with WithNullSafetyMixin {
test_contextFunctionType_nonNullify() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
int Function(int a) v;
@@ -485,7 +484,7 @@
}
test_contextFunctionType_nonNullify_returnType_takeActual() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
void foo(int Function() x) {}
@@ -501,7 +500,7 @@
}
test_contextFunctionType_nonNullify_returnType_takeContext() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
void foo(int Function() x) {}
@@ -556,7 +555,7 @@
}
test_optOut_downward_returnType_expressionBody_Null() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void foo(Map<String, String> Function() f) {}
''');
await resolveTestCode('''
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/list_literal_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/list_literal_test.dart
index 53970af..53cb664 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/list_literal_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/list_literal_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ListLiteralTest extends DriverResolutionTest {
+class ListLiteralTest extends PubPackageResolutionTest {
test_context_noTypeArgs_expression_conflict() async {
await assertErrorsInCode('''
List<int> a = ['a'];
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/local_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/local_variable_test.dart
index a68d785..90aabcf 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/local_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/local_variable_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class LocalVariableTest extends DriverResolutionTest {
+class LocalVariableTest extends PubPackageResolutionTest {
test_int() async {
await resolveTestCode('''
void f() {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/logical_boolean_expressions_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/logical_boolean_expressions_test.dart
index 712ae83..edb58ce 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/logical_boolean_expressions_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/logical_boolean_expressions_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class LogicalAndTest extends DriverResolutionTest {
+class LogicalAndTest extends PubPackageResolutionTest {
test_upward() async {
await resolveTestCode('''
void f(bool a, bool b) {
@@ -48,7 +47,7 @@
}
@reflectiveTest
-class LogicalOrTest extends DriverResolutionTest {
+class LogicalOrTest extends PubPackageResolutionTest {
test_upward() async {
await resolveTestCode('''
void f(bool a, bool b) {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/map_literal_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/map_literal_test.dart
index 54c5c98..594ad86 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/map_literal_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/map_literal_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class MapLiteralTest extends DriverResolutionTest {
+class MapLiteralTest extends PubPackageResolutionTest {
AstNode setOrMapLiteral(String search) => findNode.setOrMapLiteral(search);
test_context_noTypeArgs_entry_conflictingKey() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/set_literal_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/set_literal_test.dart
index 267717e..0b119df 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/set_literal_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/set_literal_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class SetLiteralTest extends DriverResolutionTest {
+class SetLiteralTest extends PubPackageResolutionTest {
AstNode setLiteral(String search) => findNode.setOrMapLiteral(search);
test_context_noTypeArgs_expression_conflict() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
index aa8934f..ad542d5 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/statements_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +17,7 @@
}
@reflectiveTest
-class AssertWithNullSafetyTest extends DriverResolutionTest
+class AssertWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_downward() async {
await resolveTestCode('''
@@ -32,7 +31,7 @@
}
@reflectiveTest
-class DoWithNullSafetyTest extends DriverResolutionTest
+class DoWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_downward() async {
await resolveTestCode('''
@@ -46,7 +45,7 @@
}
@reflectiveTest
-class ForWithNullSafetyTest extends DriverResolutionTest
+class ForWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_awaitForIn_dynamic_downward() async {
await resolveTestCode('''
@@ -103,7 +102,7 @@
}
@reflectiveTest
-class IfWithNullSafetyTest extends DriverResolutionTest
+class IfWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_downward() async {
await resolveTestCode('''
@@ -117,7 +116,7 @@
}
@reflectiveTest
-class WhileWithNullSafetyTest extends DriverResolutionTest
+class WhileWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_downward() async {
await resolveTestCode('''
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/tear_off_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/tear_off_test.dart
index 607202d..5f939e3 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/tear_off_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/tear_off_test.dart
@@ -7,7 +7,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class TearOffTest extends DriverResolutionTest {
+class TearOffTest extends PubPackageResolutionTest {
test_empty_contextNotInstantiated() async {
await assertErrorsInCode('''
T f<T>(T x) => x;
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
index ad8c22fa..05d8a77 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/throw_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +13,7 @@
}
@reflectiveTest
-class ThrowWithNullSafetyTest extends DriverResolutionTest
+class ThrowWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_downward() async {
await resolveTestCode('''
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/type_test_expressions_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/type_test_expressions_test.dart
index 649f577..63618fd 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/type_test_expressions_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/type_test_expressions_test.dart
@@ -4,8 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../driver_resolution.dart';
-import '../with_null_safety_mixin.dart';
+import '../context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class IsNotTest extends DriverResolutionTest {
+class IsNotTest extends PubPackageResolutionTest {
test_simple() async {
await resolveTestCode('''
void f(Object a) {
@@ -33,7 +32,7 @@
class IsNotWithNullSafetyTest extends IsNotTest with WithNullSafetyMixin {}
@reflectiveTest
-class IsTest extends DriverResolutionTest {
+class IsTest extends PubPackageResolutionTest {
test_simple() async {
await resolveTestCode('''
void f(Object a) {
diff --git a/pkg/analyzer/test/src/dart/resolution/type_name_test.dart b/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
index 7300c58..f50eea9 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/test_utilities/find_element.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
-import 'with_null_safety_mixin.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class TypeNameResolutionTest extends DriverResolutionTest {
+class TypeNameResolutionTest extends PubPackageResolutionTest {
@override
bool get typeToStringWithNullability => true;
@@ -296,7 +295,7 @@
}
test_optIn_fromOptOut_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
@@ -315,7 +314,7 @@
}
test_optIn_fromOptOut_class_generic_toBounds() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T extends num> {}
''');
@@ -334,7 +333,7 @@
}
test_optIn_fromOptOut_class_generic_toBounds_dynamic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {}
''');
@@ -353,7 +352,7 @@
}
test_optIn_fromOptOut_class_generic_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {}
''');
@@ -372,7 +371,7 @@
}
test_optIn_fromOptOut_functionTypeAlias() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F = int Function(bool);
''');
@@ -391,7 +390,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_dynamic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F<T> = T Function(bool);
''');
@@ -410,7 +409,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_toBounds() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F<T extends num> = T Function(bool);
''');
@@ -429,7 +428,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
typedef F<T> = T Function(bool);
''');
@@ -448,7 +447,7 @@
}
test_optOut_fromOptIn_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A {}
''');
@@ -467,7 +466,7 @@
}
test_optOut_fromOptIn_class_generic_toBounds() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A<T extends num> {}
''');
@@ -486,7 +485,7 @@
}
test_optOut_fromOptIn_class_generic_toBounds_dynamic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A<T> {}
''');
@@ -505,7 +504,7 @@
}
test_optOut_fromOptIn_class_generic_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A<T> {}
''');
@@ -524,7 +523,7 @@
}
test_optOut_fromOptIn_functionTypeAlias() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
typedef F = int Function();
''');
@@ -543,7 +542,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_toBounds() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
typedef F<T extends num> = T Function();
''');
@@ -562,7 +561,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_toBounds_dynamic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
typedef F<T> = T Function();
''');
@@ -581,7 +580,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_typeArguments() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
typedef F<T> = T Function();
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart b/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
index b0c5179..2546cac 100644
--- a/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
@@ -4,7 +4,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'driver_resolution.dart';
+import 'context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -13,12 +13,12 @@
}
@reflectiveTest
-class YieldStatementResolutionTest extends DriverResolutionTest {
+class YieldStatementResolutionTest extends PubPackageResolutionTest {
@override
setUp() {
super.setUp();
- newFile('/test/lib/my_stream.dart', content: r'''
+ newFile('$testPackageLibPath/my_stream.dart', content: r'''
import 'dart:async';
export 'dart:async';
diff --git a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
index 06d671d..01403ad 100644
--- a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
+++ b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
@@ -10,6 +10,7 @@
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
+import 'package:pub_semver/pub_semver.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -30,7 +31,11 @@
EmbedderYamlLocator locator = EmbedderYamlLocator({
'fox': <Folder>[pathTranslator.getResource(foxLib)]
});
- EmbedderSdk sdk = EmbedderSdk(resourceProvider, locator.embedderYamls);
+ EmbedderSdk sdk = EmbedderSdk(
+ resourceProvider,
+ locator.embedderYamls,
+ languageVersion: Version.parse('2.10.0'),
+ );
expect(sdk.allowedExperimentsJson, isNull);
@@ -45,7 +50,11 @@
EmbedderYamlLocator locator = EmbedderYamlLocator({
'fox': <Folder>[pathTranslator.getResource(foxLib)]
});
- EmbedderSdk sdk = EmbedderSdk(resourceProvider, locator.embedderYamls);
+ EmbedderSdk sdk = EmbedderSdk(
+ resourceProvider,
+ locator.embedderYamls,
+ languageVersion: Version.parse('2.10.0'),
+ );
expect(sdk.urlMappings, hasLength(5));
}
@@ -54,7 +63,11 @@
EmbedderYamlLocator locator = EmbedderYamlLocator({
'fox': <Folder>[pathTranslator.getResource(foxLib)]
});
- EmbedderSdk sdk = EmbedderSdk(resourceProvider, locator.embedderYamls);
+ EmbedderSdk sdk = EmbedderSdk(
+ resourceProvider,
+ locator.embedderYamls,
+ languageVersion: Version.parse('2.10.0'),
+ );
expectSource(String posixPath, String dartUri) {
Uri uri = Uri.parse(posixToOSFileUri(posixPath));
@@ -73,7 +86,11 @@
EmbedderYamlLocator locator = EmbedderYamlLocator({
'fox': <Folder>[pathTranslator.getResource(foxLib)]
});
- EmbedderSdk sdk = EmbedderSdk(resourceProvider, locator.embedderYamls);
+ EmbedderSdk sdk = EmbedderSdk(
+ resourceProvider,
+ locator.embedderYamls,
+ languageVersion: Version.parse('2.10.0'),
+ );
SdkLibrary lib = sdk.getSdkLibrary('dart:fox');
expect(lib, isNotNull);
@@ -85,7 +102,11 @@
EmbedderYamlLocator locator = EmbedderYamlLocator({
'fox': <Folder>[pathTranslator.getResource(foxLib)]
});
- EmbedderSdk sdk = EmbedderSdk(resourceProvider, locator.embedderYamls);
+ EmbedderSdk sdk = EmbedderSdk(
+ resourceProvider,
+ locator.embedderYamls,
+ languageVersion: Version.parse('2.10.0'),
+ );
void expectSource(String dartUri, String posixPath) {
Source source = sdk.mapDartUri(dartUri);
diff --git a/pkg/analyzer/test/src/diagnostics/abstract_class_member_test.dart b/pkg/analyzer/test/src/diagnostics/abstract_class_member_test.dart
index dd78820..e51f4cb 100644
--- a/pkg/analyzer/test/src/diagnostics/abstract_class_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/abstract_class_member_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class AbstractClassMemberTest extends DriverResolutionTest {
+class AbstractClassMemberTest extends PubPackageResolutionTest {
test_abstract_field_dynamic() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/abstract_super_member_reference_test.dart b/pkg/analyzer/test/src/diagnostics/abstract_super_member_reference_test.dart
index ce1e5b1..63131c6 100644
--- a/pkg/analyzer/test/src/diagnostics/abstract_super_member_reference_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/abstract_super_member_reference_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AbstractSuperMemberReferenceTest extends DriverResolutionTest {
+class AbstractSuperMemberReferenceTest extends PubPackageResolutionTest {
test_methodInvocation_mixin_implements() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/access_private_enum_field_test.dart b/pkg/analyzer/test/src/diagnostics/access_private_enum_field_test.dart
index 51f67e5..3ea6c65 100644
--- a/pkg/analyzer/test/src/diagnostics/access_private_enum_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/access_private_enum_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AccessPrivateEnumFieldTest extends DriverResolutionTest {
+class AccessPrivateEnumFieldTest extends PubPackageResolutionTest {
@failingTest
test_name() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
index 681a0b5..17142d7 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,12 +14,12 @@
}
@reflectiveTest
-class AmbiguousExportTest extends DriverResolutionTest {
+class AmbiguousExportTest extends PubPackageResolutionTest {
test_class() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class N {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class N {}
''');
await assertErrorsInCode(r'''
@@ -31,10 +31,10 @@
}
test_extensions_bothExported() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
extension E on String {}
''');
await assertErrorsInCode(r'''
@@ -46,7 +46,7 @@
}
test_extensions_localAndExported() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {}
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart
index f4d6e53..8fc046c 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AmbiguousExtensionMemberAccessTest extends DriverResolutionTest {
+class AmbiguousExtensionMemberAccessTest extends PubPackageResolutionTest {
test_call() async {
await assertErrorsInCode('''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
index 888dabe..61d593a 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
@@ -10,7 +10,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,12 +19,12 @@
}
@reflectiveTest
-class AmbiguousImportTest extends DriverResolutionTest {
+class AmbiguousImportTest extends PubPackageResolutionTest {
test_as() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -35,6 +35,7 @@
]);
}
+ @FailingTest(reason: 'Different approach to MockSdk')
test_dart() async {
await assertErrorsInCode('''
import 'dart:async';
@@ -47,10 +48,10 @@
}
test_extends() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -63,10 +64,10 @@
}
test_implements() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -79,28 +80,28 @@
}
test_inPart() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}
''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}
''');
- newFile('/test/lib/part.dart', content: '''
+ newFile('$testPackageLibPath/part.dart', content: '''
part of lib;
class A extends N {}
''');
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
import 'lib1.dart';
import 'lib2.dart';
part 'part.dart';
''');
ResolvedUnitResult libResult =
- await resolveFile(convertPath('/test/lib/lib.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/lib.dart'));
ResolvedUnitResult partResult =
- await resolveFile(convertPath('/test/lib/part.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/part.dart'));
expect(libResult.errors, hasLength(0));
GatheringErrorListener()
..addAll(partResult.errors)
@@ -111,10 +112,10 @@
}
test_instanceCreation() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -127,10 +128,10 @@
}
test_is() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -142,10 +143,10 @@
}
test_qualifier() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -157,10 +158,10 @@
}
test_typeAnnotation() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -187,10 +188,10 @@
}
test_typeArgument_annotation() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -203,10 +204,10 @@
}
test_typeArgument_instanceCreation() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
class N {}''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -219,10 +220,10 @@
}
test_varRead() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
var v;''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
var v;''');
await assertErrorsInCode('''
@@ -235,10 +236,10 @@
}
test_varWrite() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile("$testPackageLibPath/lib1.dart", content: '''
library lib1;
var v;''');
- newFile("/test/lib/lib2.dart", content: '''
+ newFile("$testPackageLibPath/lib2.dart", content: '''
library lib2;
var v;''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_set_or_map_literal_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_set_or_map_literal_test.dart
index faf2c9e..1430312 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_set_or_map_literal_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_set_or_map_literal_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +17,7 @@
}
@reflectiveTest
-class AmbiguousSetOrMapLiteralBothTest extends DriverResolutionTest {
+class AmbiguousSetOrMapLiteralBothTest extends PubPackageResolutionTest {
test_map() async {
await assertNoErrorsInCode('''
f(Map<int, int> map) {
@@ -109,7 +108,7 @@
}
@reflectiveTest
-class AmbiguousSetOrMapLiteralEitherTest extends DriverResolutionTest {
+class AmbiguousSetOrMapLiteralEitherTest extends PubPackageResolutionTest {
test_invalidPrefixOperator() async {
// Guard against an exception being thrown.
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/annotation_on_pointer_field_test.dart b/pkg/analyzer/test/src/diagnostics/annotation_on_pointer_field_test.dart
index f67ffd0..979d17e 100644
--- a/pkg/analyzer/test/src/diagnostics/annotation_on_pointer_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/annotation_on_pointer_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AnnotationOnPointerFieldTest extends DriverResolutionTest {
+class AnnotationOnPointerFieldTest extends PubPackageResolutionTest {
test_double() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/annotation_with_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/annotation_with_non_class_test.dart
index c7efb9f..c98e73c 100644
--- a/pkg/analyzer/test/src/diagnostics/annotation_with_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/annotation_with_non_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AnnotationWithNonClassTest extends DriverResolutionTest {
+class AnnotationWithNonClassTest extends PubPackageResolutionTest {
test_instance() async {
await assertErrorsInCode('''
class Property {
@@ -33,7 +33,7 @@
}
test_prefixed() async {
- newFile("/test/lib/annotations.dart", content: r'''
+ newFile('$testPackageLibPath/annotations.dart', content: r'''
class Property {
final int value;
const Property(this.value);
diff --git a/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
index a0f5a93..5ece142 100644
--- a/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
@@ -6,8 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,10 +16,10 @@
}
@reflectiveTest
-class ArgumentTypeNotAssignableTest extends DriverResolutionTest {
+class ArgumentTypeNotAssignableTest extends PubPackageResolutionTest {
test_ambiguousClassName() async {
// See dartbug.com/19624
- newFile("/test/lib/lib2.dart", content: '''
+ newFile('$testPackageLibPath/lib2.dart', content: '''
class _A {}
g(h(_A a)) {}''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/assert_in_redirecting_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/assert_in_redirecting_constructor_test.dart
index 240ede4..9b3c6ea 100644
--- a/pkg/analyzer/test/src/diagnostics/assert_in_redirecting_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assert_in_redirecting_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AssertInRedirectingConstructorTest extends DriverResolutionTest {
+class AssertInRedirectingConstructorTest extends PubPackageResolutionTest {
test_assertBeforeRedirection() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_const_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_const_test.dart
index 99c27ce34..c4da4a8 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_const_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_const_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class AssignmentToConstTest extends DriverResolutionTest {
+class AssignmentToConstTest extends PubPackageResolutionTest {
test_instanceVariable() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
index fb8178d..502b7bb 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_final_local_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class AssignmentToFinalLocalTest extends DriverResolutionTest {
+class AssignmentToFinalLocalTest extends PubPackageResolutionTest {
test_localVariable() async {
await assertErrorsInCode('''
f() {
@@ -137,7 +136,7 @@
}
@reflectiveTest
-class AssignmentToFinalLocalWithNullSafetyTest extends DriverResolutionTest
+class AssignmentToFinalLocalWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_localVariable_late() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_final_no_setter_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_final_no_setter_test.dart
index 4067b17..fe06f6f 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_final_no_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_final_no_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AssignmentToFinalNoSetterTest extends DriverResolutionTest {
+class AssignmentToFinalNoSetterTest extends PubPackageResolutionTest {
test_instance_undefined_hasGetter() async {
await assertErrorsInCode('''
extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_final_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_final_test.dart
index 194e750..bbe22a6 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_final_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_final_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class AssignmentToFinalTest extends DriverResolutionTest {
+class AssignmentToFinalTest extends PubPackageResolutionTest {
test_instanceVariable() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_function_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_function_test.dart
index 850cc71..c355e7b 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_function_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AssignmentToFunctionTest extends DriverResolutionTest {
+class AssignmentToFunctionTest extends PubPackageResolutionTest {
test_function() async {
await assertErrorsInCode('''
f() {}
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_method_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_method_test.dart
index ad89ea1..db44bcf 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AssignmentToMethodTest extends DriverResolutionTest {
+class AssignmentToMethodTest extends PubPackageResolutionTest {
test_instance_extendedHasMethod_extensionHasSetter() async {
await assertErrorsInCode('''
class C {
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_to_type_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_to_type_test.dart
index a8bd819..2526101 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_to_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_to_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AssignmentToTypeTest extends DriverResolutionTest {
+class AssignmentToTypeTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode('''
class C {}
diff --git a/pkg/analyzer/test/src/diagnostics/async_for_in_wrong_context_test.dart b/pkg/analyzer/test/src/diagnostics/async_for_in_wrong_context_test.dart
index bc68e84..1dfe5bf 100644
--- a/pkg/analyzer/test/src/diagnostics/async_for_in_wrong_context_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/async_for_in_wrong_context_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AsyncForInWrongContextTest extends DriverResolutionTest {
+class AsyncForInWrongContextTest extends PubPackageResolutionTest {
test_syncFunction() async {
await assertErrorsInCode(r'''
f(list) {
diff --git a/pkg/analyzer/test/src/diagnostics/async_keyword_used_as_identifier_test.dart b/pkg/analyzer/test/src/diagnostics/async_keyword_used_as_identifier_test.dart
index cc747dd..e88dec6 100644
--- a/pkg/analyzer/test/src/diagnostics/async_keyword_used_as_identifier_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/async_keyword_used_as_identifier_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class AsyncKeywordUsedAsIdentifierTest extends DriverResolutionTest {
+class AsyncKeywordUsedAsIdentifierTest extends PubPackageResolutionTest {
test_async_async() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
index 15e3574..c321778 100644
--- a/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/await_in_late_local_variable_initializer_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class AwaitInLateLocalVariableInitializerTest extends DriverResolutionTest
+class AwaitInLateLocalVariableInitializerTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
static const _errorCode =
CompileTimeErrorCode.AWAIT_IN_LATE_LOCAL_VARIABLE_INITIALIZER;
diff --git a/pkg/analyzer/test/src/diagnostics/await_in_wrong_context_test.dart b/pkg/analyzer/test/src/diagnostics/await_in_wrong_context_test.dart
index d3184df..e99bf8e 100644
--- a/pkg/analyzer/test/src/diagnostics/await_in_wrong_context_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/await_in_wrong_context_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class AwaitInWrongContextTest extends DriverResolutionTest {
+class AwaitInWrongContextTest extends PubPackageResolutionTest {
@failingTest
test_sync() async {
// This test requires better error recovery than we currently have. In
diff --git a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
index 4581677..b366a0d 100644
--- a/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/body_might_complete_normally_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class BodyMayCompleteNormallyTest extends DriverResolutionTest
+class BodyMayCompleteNormallyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_factoryConstructor_named_blockBody() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_extension_name_test.dart b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_extension_name_test.dart
index 05791e0..34ff03b 100644
--- a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_extension_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_extension_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class BuiltInIdentifierAsExtensionNameTest extends DriverResolutionTest {
+class BuiltInIdentifierAsExtensionNameTest extends PubPackageResolutionTest {
test_error_builtInIdentifierAsExtensionName() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_prefix_name_test.dart b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_prefix_name_test.dart
index 2a79451..a4f9e2e 100644
--- a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_prefix_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_prefix_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class BuiltInIdentifierAsPrefixNameTest extends DriverResolutionTest {
+class BuiltInIdentifierAsPrefixNameTest extends PubPackageResolutionTest {
test_builtInIdentifierAsPrefixName() async {
await assertErrorsInCode('''
import 'dart:async' as abstract;
diff --git a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_name_test.dart b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_name_test.dart
index 741a257..2923bf7 100644
--- a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class BuiltInIdentifierAsTypeNameTest extends DriverResolutionTest {
+class BuiltInIdentifierAsTypeNameTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode('''
class as {}
diff --git a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_parameter_name_test.dart b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_parameter_name_test.dart
index b28236f..fc7fdd3 100644
--- a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_parameter_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_type_parameter_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class BuiltInIdentifierAsTypeParameterNameTest extends DriverResolutionTest {
+class BuiltInIdentifierAsTypeParameterNameTest
+ extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode('''
class A<as> {}
diff --git a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_typedef_name_test.dart b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_typedef_name_test.dart
index 2163187..7ba99f5 100644
--- a/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_typedef_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/built_in_identifier_as_typedef_name_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class BuiltInIdentifierAsTypedefNameTest extends DriverResolutionTest {
+class BuiltInIdentifierAsTypedefNameTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/can_be_null_after_null_aware_test.dart b/pkg/analyzer/test/src/diagnostics/can_be_null_after_null_aware_test.dart
index ee5b015..9fa19a3 100644
--- a/pkg/analyzer/test/src/diagnostics/can_be_null_after_null_aware_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/can_be_null_after_null_aware_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class CanBeNullAfterNullAwareTest extends DriverResolutionTest {
+class CanBeNullAfterNullAwareTest extends PubPackageResolutionTest {
test_afterCascade() async {
await assertErrorsInCode(r'''
m(x) {
diff --git a/pkg/analyzer/test/src/diagnostics/case_block_not_terminated_test.dart b/pkg/analyzer/test/src/diagnostics/case_block_not_terminated_test.dart
index e8268d5..67e0536 100644
--- a/pkg/analyzer/test/src/diagnostics/case_block_not_terminated_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/case_block_not_terminated_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class CaseBlockNotTerminatedTest extends DriverResolutionTest {
+class CaseBlockNotTerminatedTest extends PubPackageResolutionTest {
test_lastCase() async {
await assertNoErrorsInCode(r'''
f(int a) {
diff --git a/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart b/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
index 78e713c..bfec408 100644
--- a/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/case_expression_type_implements_equals_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class CaseExpressionTypeImplementsEqualsTest extends DriverResolutionTest {
+class CaseExpressionTypeImplementsEqualsTest extends PubPackageResolutionTest {
test_declares() async {
await assertNoErrorsInCode(r'''
abstract class A {
@@ -107,7 +106,7 @@
@reflectiveTest
class CaseExpressionTypeImplementsEqualsWithNullSafetyTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_declares() async {
await assertNoErrorsInCode(r'''
abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/case_expression_type_is_not_switch_expression_subtype_test.dart b/pkg/analyzer/test/src/diagnostics/case_expression_type_is_not_switch_expression_subtype_test.dart
index 741cb7e..dbe659f 100644
--- a/pkg/analyzer/test/src/diagnostics/case_expression_type_is_not_switch_expression_subtype_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/case_expression_type_is_not_switch_expression_subtype_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
@reflectiveTest
class CaseExpressionTypeIsNotSswitchExpressionSubtype
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
CompileTimeErrorCode get _errorCode {
return CompileTimeErrorCode
.CASE_EXPRESSION_TYPE_IS_NOT_SWITCH_EXPRESSION_SUBTYPE;
diff --git a/pkg/analyzer/test/src/diagnostics/cast_to_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/cast_to_non_type_test.dart
index e7496be..78747bc 100644
--- a/pkg/analyzer/test/src/diagnostics/cast_to_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/cast_to_non_type_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class CastToNonTypeTest extends DriverResolutionTest {
+class CastToNonTypeTest extends PubPackageResolutionTest {
test_variable() async {
await assertErrorsInCode('''
var A = 0;
diff --git a/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart b/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
index d781279..77805ab 100644
--- a/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/concrete_class_with_abstract_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConcreteClassWithAbstractMemberTest extends DriverResolutionTest {
+class ConcreteClassWithAbstractMemberTest extends PubPackageResolutionTest {
test_direct() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart b/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
index d6aa6e4..9342301 100644
--- a/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ConflictingGenericInterfacesTest extends DriverResolutionTest {
+class ConflictingGenericInterfacesTest extends PubPackageResolutionTest {
test_class_extends_implements() async {
await assertErrorsInCode('''
class I<T> {}
@@ -95,7 +94,7 @@
}
test_class_extends_implements_optOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class I<T> {}
class A implements I<int> {}
class B implements I<int?> {}
@@ -109,7 +108,7 @@
}
test_class_extends_optIn_implements_optOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {}
class B extends A<int> {}
@@ -123,7 +122,7 @@
}
test_class_mixed_viaLegacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {}
class Bi implements A<int> {}
@@ -132,7 +131,7 @@
''');
// Both `Bi` and `Biq` implement `A<int*>` in legacy, so identical.
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.7
import 'a.dart';
@@ -159,11 +158,11 @@
}
test_class_topMerge_optIn_optOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.5
import 'a.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/conflicting_static_and_instance_test.dart b/pkg/analyzer/test/src/diagnostics/conflicting_static_and_instance_test.dart
index 08d604b..85205db 100644
--- a/pkg/analyzer/test/src/diagnostics/conflicting_static_and_instance_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/conflicting_static_and_instance_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class ConflictingStaticAndInstanceClassTest extends DriverResolutionTest {
+class ConflictingStaticAndInstanceClassTest extends PubPackageResolutionTest {
test_inClass_getter_getter() async {
await assertErrorsInCode(r'''
class C {
@@ -450,7 +450,7 @@
}
@reflectiveTest
-class ConflictingStaticAndInstanceEnumTest extends DriverResolutionTest {
+class ConflictingStaticAndInstanceEnumTest extends PubPackageResolutionTest {
test_hashCode() async {
await assertErrorsInCode(r'''
enum E {
@@ -503,7 +503,7 @@
}
@reflectiveTest
-class ConflictingStaticAndInstanceMixinTest extends DriverResolutionTest {
+class ConflictingStaticAndInstanceMixinTest extends PubPackageResolutionTest {
test_inConstraint_getter_getter() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_container_test.dart b/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_container_test.dart
index 3403efa..634dfff 100644
--- a/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_container_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_container_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ConflictingTypeVariableAndClassTest extends DriverResolutionTest {
+class ConflictingTypeVariableAndClassTest extends PubPackageResolutionTest {
test_conflict_on_class() async {
await assertErrorsInCode(r'''
class T<T> {}
@@ -34,7 +34,7 @@
}
@reflectiveTest
-class ConflictingTypeVariableAndExtensionTest extends DriverResolutionTest {
+class ConflictingTypeVariableAndExtensionTest extends PubPackageResolutionTest {
test_conflict() async {
await assertErrorsInCode(r'''
extension T<T> on String {}
diff --git a/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_member_test.dart b/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_member_test.dart
index 7cd84a8b..7805bea 100644
--- a/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/conflicting_type_variable_and_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
@reflectiveTest
class ConflictingTypeVariableAndMemberExtensionTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode(r'''
extension A<T> on String {
@@ -52,7 +52,7 @@
}
@reflectiveTest
-class ConflictingTypeVariableAndMemberTest extends DriverResolutionTest {
+class ConflictingTypeVariableAndMemberTest extends PubPackageResolutionTest {
test_field() async {
await assertErrorsInCode(r'''
class A<T> {
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
index 43efe7b..1a3846a 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstConstructorFieldTypeMismatchTest extends DriverResolutionTest {
+class ConstConstructorFieldTypeMismatchTest extends PubPackageResolutionTest {
test_assignable_generic() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
index f2f4409..24ad795 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ConstConstructorParamTypeMismatchTest extends DriverResolutionTest {
+class ConstConstructorParamTypeMismatchTest extends PubPackageResolutionTest {
test_assignable_fieldFormal_null() async {
// Null is assignable to anything (before null safety).
await assertNoErrorsInCode(r'''
@@ -137,7 +137,7 @@
}
test_int_to_double_reference_from_other_library_other_file_after() async {
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
import 'test.dart';
class D {
final C c;
@@ -153,7 +153,7 @@
const C constant = const C(0);
''');
var otherFileResult =
- await resolveFile(convertPath('/test/lib/other.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/other.dart'));
expect(otherFileResult.errors, isEmpty);
}
@@ -165,7 +165,7 @@
}
const C constant = const C(0);
''');
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
import 'test.dart';
class D {
final C c;
@@ -174,7 +174,7 @@
const D constant2 = const D(constant);
''');
var otherFileResult =
- await resolveFile(convertPath('/test/lib/other.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/other.dart'));
expect(otherFileResult.errors, isEmpty);
}
@@ -189,7 +189,7 @@
}
test_int_to_double_via_default_value_other_file_after() async {
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
class C {
final double x;
const C([this.x = 0]);
@@ -200,19 +200,19 @@
const c = C();
''');
var otherFileResult =
- await resolveFile(convertPath('/test/lib/other.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/other.dart'));
expect(otherFileResult.errors, isEmpty);
}
test_int_to_double_via_default_value_other_file_before() async {
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
class C {
final double x;
const C([this.x = 0]);
}
''');
var otherFileResult =
- await resolveFile(convertPath('/test/lib/other.dart'));
+ await resolveFile(convertPath('$testPackageLibPath/other.dart'));
expect(otherFileResult.errors, isEmpty);
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_with_field_initialized_by_non_const_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_with_field_initialized_by_non_const_test.dart
index a8a7a79..3b94c24 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_with_field_initialized_by_non_const_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_with_field_initialized_by_non_const_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class ConstConstructorWithFieldInitializedByNonConstTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_factoryConstructor() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_with_mixin_with_field_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_with_mixin_with_field_test.dart
index c138d36..73e81a8 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_with_mixin_with_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_with_mixin_with_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstConstructorWithMixinWithFieldTest extends DriverResolutionTest {
+class ConstConstructorWithMixinWithFieldTest extends PubPackageResolutionTest {
test_class_instance_final() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_const_super_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_const_super_test.dart
index 6c7f9c3..9dcfbc5 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_const_super_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_const_super_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstConstructorWithNonConstSuperTest extends DriverResolutionTest {
+class ConstConstructorWithNonConstSuperTest extends PubPackageResolutionTest {
test_explicit() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_final_field_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_final_field_test.dart
index 6162be7..055e4b1 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_final_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_with_non_final_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstConstructorWithNonFinalFieldTest extends DriverResolutionTest {
+class ConstConstructorWithNonFinalFieldTest extends PubPackageResolutionTest {
test_mixin() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
index 194f0a4..7a02553 100644
--- a/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ConstDeferredClassTest extends DriverResolutionTest {
+class ConstDeferredClassTest extends PubPackageResolutionTest {
test_namedConstructor() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {
const A.b();
@@ -32,7 +32,7 @@
}
test_unnamed() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {
const A();
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_throws_idbze_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_throws_idbze_test.dart
index a07e903..4a8c4b2 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_throws_idbze_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_throws_idbze_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstEvalThrowsIdbzeTest extends DriverResolutionTest {
+class ConstEvalThrowsIdbzeTest extends PubPackageResolutionTest {
test_divisionByZero() async {
await assertErrorsInCode('''
const C = 1 ~/ 0;
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_int_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_int_test.dart
index 9799548..3af662c 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_int_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_int_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstEvalTypeBoolIntTest extends DriverResolutionTest {
+class ConstEvalTypeBoolIntTest extends PubPackageResolutionTest {
test_binary() async {
await _check_constEvalTypeBoolOrInt_binary("a ^ ''");
await _check_constEvalTypeBoolOrInt_binary("a & ''");
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_num_string_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_num_string_test.dart
index 529707d..8acf4e9 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_num_string_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_num_string_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ConstEvalTypeBoolNumStringTest extends DriverResolutionTest {
+class ConstEvalTypeBoolNumStringTest extends PubPackageResolutionTest {
test_equal() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_test.dart
index cc8982d..dc91c13 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_type_bool_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstEvalTypeBoolTest extends DriverResolutionTest {
+class ConstEvalTypeBoolTest extends PubPackageResolutionTest {
test_binary_and() async {
await assertErrorsInCode('''
const c = true && '';
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_type_num_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_type_num_test.dart
index 8d3aeae..f332abf 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_type_num_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_type_num_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstEvalTypeNumTest extends DriverResolutionTest {
+class ConstEvalTypeNumTest extends PubPackageResolutionTest {
test_binary() async {
await _check_constEvalTypeNum_binary("a + ''");
await _check_constEvalTypeNum_binary("a - ''");
diff --git a/pkg/analyzer/test/src/diagnostics/const_field_initializer_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/const_field_initializer_not_assignable_test.dart
index b7145d9..e624e63 100644
--- a/pkg/analyzer/test/src/diagnostics/const_field_initializer_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_field_initializer_not_assignable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstFieldInitializerNotAssignableTest extends DriverResolutionTest {
+class ConstFieldInitializerNotAssignableTest extends PubPackageResolutionTest {
test_assignable_subtype() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_formal_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/const_formal_parameter_test.dart
index 4c1abe8..79e54ea 100644
--- a/pkg/analyzer/test/src/diagnostics/const_formal_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_formal_parameter_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class ConstFormalParameterTest extends DriverResolutionTest {
+class ConstFormalParameterTest extends PubPackageResolutionTest {
test_fieldFormalParameter() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
index 21a3c81..2a14814 100644
--- a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,9 +16,9 @@
@reflectiveTest
class ConstInitializedWithNonConstantValueFromDeferredLibraryTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_deferred() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const V = 1;
''');
@@ -36,7 +36,7 @@
}
test_nested() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const V = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_test.dart b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_test.dart
index 4801257..8e28cd4 100644
--- a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class ConstInitializedWithNonConstantValueTest extends DriverResolutionTest {
+class ConstInitializedWithNonConstantValueTest
+ extends PubPackageResolutionTest {
test_dynamic() async {
await assertErrorsInCode(r'''
f(p) {
diff --git a/pkg/analyzer/test/src/diagnostics/const_instance_field_test.dart b/pkg/analyzer/test/src/diagnostics/const_instance_field_test.dart
index 45a9fc1..2e8afb16 100644
--- a/pkg/analyzer/test/src/diagnostics/const_instance_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_instance_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstInstanceFieldTest extends DriverResolutionTest {
+class ConstInstanceFieldTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
class C {
diff --git a/pkg/analyzer/test/src/diagnostics/const_map_key_expression_type_implements_equals_test.dart b/pkg/analyzer/test/src/diagnostics/const_map_key_expression_type_implements_equals_test.dart
index ee3066f..6b2a23b 100644
--- a/pkg/analyzer/test/src/diagnostics/const_map_key_expression_type_implements_equals_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_map_key_expression_type_implements_equals_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class ConstMapKeyExpressionTypeImplementsEqualsTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_abstract() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_not_initialized_test.dart b/pkg/analyzer/test/src/diagnostics/const_not_initialized_test.dart
index 5c1d235..786dfe7 100644
--- a/pkg/analyzer/test/src/diagnostics/const_not_initialized_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_not_initialized_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ConstNotInitializedTest extends DriverResolutionTest {
+class ConstNotInitializedTest extends PubPackageResolutionTest {
test_extension_static() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/const_set_element_type_implements_equals_test.dart b/pkg/analyzer/test/src/diagnostics/const_set_element_type_implements_equals_test.dart
index 62ca512..48c5f70 100644
--- a/pkg/analyzer/test/src/diagnostics/const_set_element_type_implements_equals_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_set_element_type_implements_equals_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +19,7 @@
}
@reflectiveTest
-class ConstSetElementTypeImplementsEqualsTest extends DriverResolutionTest {
+class ConstSetElementTypeImplementsEqualsTest extends PubPackageResolutionTest {
test_constField() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_spread_expected_list_or_set_test.dart b/pkg/analyzer/test/src/diagnostics/const_spread_expected_list_or_set_test.dart
index 1751118..6cbca9c 100644
--- a/pkg/analyzer/test/src/diagnostics/const_spread_expected_list_or_set_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_spread_expected_list_or_set_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class ConstSpreadExpectedListOrSetTest extends DriverResolutionTest {
+class ConstSpreadExpectedListOrSetTest extends PubPackageResolutionTest {
test_const_listInt() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/const_spread_expected_map_test.dart b/pkg/analyzer/test/src/diagnostics/const_spread_expected_map_test.dart
index e14372a..0548e36 100644
--- a/pkg/analyzer/test/src/diagnostics/const_spread_expected_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_spread_expected_map_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class ConstSpreadExpectedMapTest extends DriverResolutionTest {
+class ConstSpreadExpectedMapTest extends PubPackageResolutionTest {
test_const_mapInt() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_non_const_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_non_const_test.dart
index 50ce2ea..39e41c9 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_non_const_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_non_const_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstWithNonConstTest extends DriverResolutionTest {
+class ConstWithNonConstTest extends PubPackageResolutionTest {
test_inConstContext() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_non_constant_argument_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_non_constant_argument_test.dart
index 9fc2328..e21d023 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_non_constant_argument_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_non_constant_argument_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstWithNonConstantArgumentTest extends DriverResolutionTest {
+class ConstWithNonConstantArgumentTest extends PubPackageResolutionTest {
test_annotation() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
index 1bd6571..67edb47 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ConstWithNonTypeTest extends DriverResolutionTest {
+class ConstWithNonTypeTest extends PubPackageResolutionTest {
test_fromLibrary() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode('''
import 'lib1.dart' as lib;
void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_type_parameters_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_type_parameters_test.dart
index 5aed8fe..ea1ef186 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_type_parameters_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_type_parameters_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstWithTypeParametersTest extends DriverResolutionTest {
+class ConstWithTypeParametersTest extends PubPackageResolutionTest {
test_direct() async {
await assertErrorsInCode(r'''
class A<T> {
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
index f60efa0..eb83413 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ConstWithUndefinedConstructorTest extends DriverResolutionTest {
+class ConstWithUndefinedConstructorTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
index 4736c9a..73ddb62 100644
--- a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class CouldNotInferTest extends DriverResolutionTest {
+class CouldNotInferTest extends PubPackageResolutionTest {
test_constructors_inferenceFBounded() async {
await assertErrorsInCode('''
class C<T> {}
@@ -135,7 +135,7 @@
}
test_functionType_parameterIsObject_returnIsBound_prefixedFunction() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
external T f<T extends num>(T a, T b);
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/dead_code_test.dart b/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
index 4a4c77c..2529fea 100644
--- a/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
@@ -3,11 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +15,13 @@
}
@reflectiveTest
-class DeadCodeTest extends DriverResolutionTest with PackageMixin {
+class DeadCodeTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_afterForEachWithBreakLabel() async {
await assertNoErrorsInCode(r'''
f(List<Object> values) {
@@ -166,7 +170,7 @@
}
test_deadBlock_if_debugConst_prefixedIdentifier2() async {
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class A {
static const bool DEBUG = false;
}''');
@@ -178,7 +182,7 @@
}
test_deadBlock_if_debugConst_propertyAccessor() async {
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class A {
static const bool DEBUG = false;
}''');
@@ -453,7 +457,6 @@
}
test_statementAfterAlwaysThrowsFunction() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
@@ -473,7 +476,6 @@
@failingTest
test_statementAfterAlwaysThrowsGetter() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
@@ -493,7 +495,6 @@
}
test_statementAfterAlwaysThrowsMethod() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
index 8b0a323..c1e4746 100644
--- a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,10 @@
}
@reflectiveTest
-class DeadNullAwareExpressionTest extends DriverResolutionTest
+class DeadNullAwareExpressionTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_assignCompound_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = 0;
''');
@@ -64,7 +63,7 @@
}
test_binary_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
index a629db8..6f8f9c1 100644
--- a/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_list_constructor_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class DefaultListConstructorMismatch extends DriverResolutionTest
+class DefaultListConstructorMismatch extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_inferredType() async {
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/default_value_in_function_type_test.dart b/pkg/analyzer/test/src/diagnostics/default_value_in_function_type_test.dart
index 6356791..19c3909 100644
--- a/pkg/analyzer/test/src/diagnostics/default_value_in_function_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_value_in_function_type_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class DefaultValueInFunctionTypeTest extends DriverResolutionTest {
+class DefaultValueInFunctionTypeTest extends PubPackageResolutionTest {
test_new_named() async {
await assertErrorsInCode('''
typedef F = int Function({Map<String, String> m: const {}});
diff --git a/pkg/analyzer/test/src/diagnostics/default_value_in_function_typed_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/default_value_in_function_typed_parameter_test.dart
index d75a555..746f479 100644
--- a/pkg/analyzer/test/src/diagnostics/default_value_in_function_typed_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_value_in_function_typed_parameter_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,8 @@
}
@reflectiveTest
-class DefaultValueInFunctionTypedParameterTest extends DriverResolutionTest {
+class DefaultValueInFunctionTypedParameterTest
+ extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode('''
f(g({p: null})) {}
diff --git a/pkg/analyzer/test/src/diagnostics/default_value_in_redirecting_factory_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/default_value_in_redirecting_factory_constructor_test.dart
index 34f2171..f2e9e0c 100644
--- a/pkg/analyzer/test/src/diagnostics/default_value_in_redirecting_factory_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_value_in_redirecting_factory_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class DefaultValueInRedirectingFactoryConstructorTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_default_value() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
index ac7337c..d191807 100644
--- a/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/default_value_on_required_parameter_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class DefaultValueOnRequiredParameterTest extends DriverResolutionTest
+class DefaultValueOnRequiredParameterTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_function_notRequired_default() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart b/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
index 89e92d4..2475e1e 100644
--- a/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class DeferredImportOfExtensionTest extends DriverResolutionTest {
+class DeferredImportOfExtensionTest extends PubPackageResolutionTest {
test_deferredImport_withExtensions() {
- newFile('/test/lib/foo.dart', content: '''
+ newFile('$testPackageLibPath/foo.dart', content: '''
extension E on C {}
class C {}
''');
@@ -32,7 +32,7 @@
}
test_deferredImport_withHiddenExtensions() {
- newFile('/test/lib/foo.dart', content: '''
+ newFile('$testPackageLibPath/foo.dart', content: '''
extension E on C {}
class C {}
''');
@@ -46,7 +46,7 @@
}
test_deferredImport_withoutExtensions() {
- newFile('/test/lib/foo.dart', content: '''
+ newFile('$testPackageLibPath/foo.dart', content: '''
class C {}
''');
assertNoErrorsInCode('''
@@ -59,7 +59,7 @@
}
test_deferredImport_withShownNonExtensions() {
- newFile('/test/lib/foo.dart', content: '''
+ newFile('$testPackageLibPath/foo.dart', content: '''
extension E on C {}
class C {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart b/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
index 792e766..61ee6ec 100644
--- a/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/definitely_unassigned_late_local_variable_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class DefinitelyUnassignedLateLocalVariableTest extends DriverResolutionTest
+class DefinitelyUnassignedLateLocalVariableTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
CompileTimeErrorCode get _errorCode {
return CompileTimeErrorCode.DEFINITELY_UNASSIGNED_LATE_LOCAL_VARIABLE;
diff --git a/pkg/analyzer/test/src/diagnostics/deprecated_extends_function_test.dart b/pkg/analyzer/test/src/diagnostics/deprecated_extends_function_test.dart
index ed17e5b..2e97f25 100644
--- a/pkg/analyzer/test/src/diagnostics/deprecated_extends_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deprecated_extends_function_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class DeprecatedExtendsFunctionTest extends DriverResolutionTest {
+class DeprecatedExtendsFunctionTest extends PubPackageResolutionTest {
test_core() async {
await assertErrorsInCode('''
class A extends Function {}
diff --git a/pkg/analyzer/test/src/diagnostics/deprecated_function_class_declaration_test.dart b/pkg/analyzer/test/src/diagnostics/deprecated_function_class_declaration_test.dart
index 66dc44d..6221d24 100644
--- a/pkg/analyzer/test/src/diagnostics/deprecated_function_class_declaration_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deprecated_function_class_declaration_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class DeprecatedFunctionClassDeclarationTest extends DriverResolutionTest {
+class DeprecatedFunctionClassDeclarationTest extends PubPackageResolutionTest {
test_declaration() async {
await assertErrorsInCode('''
class Function {}
diff --git a/pkg/analyzer/test/src/diagnostics/deprecated_mixin_function_test.dart b/pkg/analyzer/test/src/diagnostics/deprecated_mixin_function_test.dart
index dd0b1b9..e6fd57e 100644
--- a/pkg/analyzer/test/src/diagnostics/deprecated_mixin_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deprecated_mixin_function_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class DeprecatedMixinFunctionTest extends DriverResolutionTest {
+class DeprecatedMixinFunctionTest extends PubPackageResolutionTest {
test_core() async {
await assertErrorsInCode('''
class A extends Object with Function {}
diff --git a/pkg/analyzer/test/src/diagnostics/division_optimization_test.dart b/pkg/analyzer/test/src/diagnostics/division_optimization_test.dart
index f0f3141..ff371bc 100644
--- a/pkg/analyzer/test/src/diagnostics/division_optimization_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/division_optimization_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class DivisionOptimizationTest extends DriverResolutionTest {
+class DivisionOptimizationTest extends PubPackageResolutionTest {
test_divisionOptimization() async {
await assertNoErrorsInCode(r'''
f(int x, int y) {
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
index 5c48482..1891285 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
@@ -7,7 +7,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +19,7 @@
}
@reflectiveTest
-class DuplicateDefinitionClassTest extends DriverResolutionTest {
+class DuplicateDefinitionClassTest extends PubPackageResolutionTest {
test_instance_field_field() async {
await assertErrorsInCode(r'''
class C {
@@ -327,7 +327,7 @@
}
@reflectiveTest
-class DuplicateDefinitionExtensionTest extends DriverResolutionTest {
+class DuplicateDefinitionExtensionTest extends PubPackageResolutionTest {
test_extendedType_instance() async {
await assertNoErrorsInCode('''
class A {
@@ -637,7 +637,7 @@
}
@reflectiveTest
-class DuplicateDefinitionMixinTest extends DriverResolutionTest {
+class DuplicateDefinitionMixinTest extends PubPackageResolutionTest {
test_instance_field_field() async {
await assertErrorsInCode(r'''
mixin M {
@@ -936,7 +936,7 @@
}
@reflectiveTest
-class DuplicateDefinitionTest extends DriverResolutionTest {
+class DuplicateDefinitionTest extends PubPackageResolutionTest {
test_catch() async {
await assertErrorsInCode(r'''
main() {
@@ -1158,8 +1158,8 @@
}
test_unitMembers_part_library() async {
- var libPath = convertPath('/test/lib/lib.dart');
- var aPath = convertPath('/test/lib/a.dart');
+ var libPath = convertPath('$testPackageLibPath/lib.dart');
+ var aPath = convertPath('$testPackageLibPath/a.dart');
newFile(libPath, content: '''
part 'a.dart';
@@ -1182,9 +1182,9 @@
}
test_unitMembers_part_part() async {
- var libPath = convertPath('/test/lib/lib.dart');
- var aPath = convertPath('/test/lib/a.dart');
- var bPath = convertPath('/test/lib/b.dart');
+ var libPath = convertPath('$testPackageLibPath/lib.dart');
+ var aPath = convertPath('$testPackageLibPath/a.dart');
+ var bPath = convertPath('$testPackageLibPath/b.dart');
newFile(libPath, content: '''
part 'a.dart';
part 'b.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
index aadefba..ab9c46d 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class DuplicateHiddenNameTest extends DriverResolutionTest {
+class DuplicateHiddenNameTest extends PubPackageResolutionTest {
test_hidden() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
index 6057e3b..963db0e 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
@@ -6,7 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,106 +15,106 @@
}
@reflectiveTest
-class DuplicateImportTest extends DriverResolutionTest {
+class DuplicateImportTest extends PubPackageResolutionTest {
test_duplicateImport() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart';
import 'lib1.dart';
A a;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.DUPLICATE_IMPORT, 38, 11),
]);
}
test_importsHaveIdenticalShowHide() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}
class B {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart' as M show A hide B;
import 'lib1.dart' as M show A hide B;
M.A a;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.DUPLICATE_IMPORT, 57, 11),
]);
}
test_oneImportHasHide() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}
class B {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart';
import 'lib1.dart' hide A;
A a;
B b;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_oneImportHasShow() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}
class B {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart';
import 'lib1.dart' show A;
A a;
B b;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_oneImportUsesAs() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart';
import 'lib1.dart' as one;
A a;
one.A a2;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_twoDuplicateImports() async {
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
class A {}''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library L;
import 'lib1.dart';
import 'lib1.dart';
import 'lib1.dart';
A a;''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.DUPLICATE_IMPORT, 38, 11),
error(HintCode.DUPLICATE_IMPORT, 58, 11),
]);
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_named_argument_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_named_argument_test.dart
index 6bde893..3fceecb 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_named_argument_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_named_argument_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class DuplicateNamedArgumentTest extends DriverResolutionTest {
+class DuplicateNamedArgumentTest extends PubPackageResolutionTest {
test_duplicate_named_argument() async {
await assertErrorsInCode(r'''
f({a, b}) {}
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
index bd96a49..64ed945 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,12 +14,12 @@
}
@reflectiveTest
-class DuplicatePartTest extends DriverResolutionTest {
+class DuplicatePartTest extends PubPackageResolutionTest {
test_no_duplicates() async {
- newFile('/test/lib/part1.dart', content: '''
+ newFile('$testPackageLibPath/part1.dart', content: '''
part of lib;
''');
- newFile('/test/lib/part2.dart', content: '''
+ newFile('$testPackageLibPath/part2.dart', content: '''
part of lib;
''');
await assertNoErrorsInCode(r'''
@@ -30,7 +30,7 @@
}
test_sameSource() async {
- newFile('/test/lib/part.dart', content: 'part of lib;');
+ newFile('$testPackageLibPath/part.dart', content: 'part of lib;');
await assertErrorsInCode(r'''
library lib;
part 'part.dart';
@@ -41,7 +41,7 @@
}
test_sameUri() async {
- newFile('/test/lib/part.dart', content: 'part of lib;');
+ newFile('$testPackageLibPath/part.dart', content: 'part of lib;');
await assertErrorsInCode(r'''
library lib;
part 'part.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
index b921499..e1e0cde 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class DuplicateShownNameTest extends DriverResolutionTest {
+class DuplicateShownNameTest extends PubPackageResolutionTest {
test_hidden() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/enum_constant_same_name_as_enclosing.dart b/pkg/analyzer/test/src/diagnostics/enum_constant_same_name_as_enclosing.dart
index e0b57f8..1e17a30 100644
--- a/pkg/analyzer/test/src/diagnostics/enum_constant_same_name_as_enclosing.dart
+++ b/pkg/analyzer/test/src/diagnostics/enum_constant_same_name_as_enclosing.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class EnumConstantSameNameAsEnclosingTest extends DriverResolutionTest {
+class EnumConstantSameNameAsEnclosingTest extends PubPackageResolutionTest {
test_name() async {
await assertErrorsInCode(r'''
enum E {
diff --git a/pkg/analyzer/test/src/diagnostics/equal_elements_in_const_set_test.dart b/pkg/analyzer/test/src/diagnostics/equal_elements_in_const_set_test.dart
index eeb763d..8b43155 100644
--- a/pkg/analyzer/test/src/diagnostics/equal_elements_in_const_set_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/equal_elements_in_const_set_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,13 +18,13 @@
}
@reflectiveTest
-class EqualElementsInConstSetTest extends DriverResolutionTest {
+class EqualElementsInConstSetTest extends PubPackageResolutionTest {
test_const_entry() async {
await assertErrorsInCode('''
var c = const {1, 2, 1};
''', [
error(CompileTimeErrorCode.EQUAL_ELEMENTS_IN_CONST_SET, 21, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 15, 1)]),
]);
}
@@ -36,7 +36,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_ELEMENTS_IN_CONST_SET, 36, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_SET_ELEMENT, 18, 19),
@@ -99,7 +101,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_ELEMENTS_IN_CONST_SET, 29, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_SET_ELEMENT, 18, 12),
@@ -115,7 +119,7 @@
var c = const {const A<int>(), const A<int>()};
''', [
error(CompileTimeErrorCode.EQUAL_ELEMENTS_IN_CONST_SET, 60, 14,
- contextMessages: [message('/test/lib/test.dart', 44, 14)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 44, 14)]),
]);
}
@@ -150,7 +154,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_ELEMENTS_IN_CONST_SET, 21, 3,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_SET_ELEMENT, 18, 6),
diff --git a/pkg/analyzer/test/src/diagnostics/equal_elements_in_set_test.dart b/pkg/analyzer/test/src/diagnostics/equal_elements_in_set_test.dart
index 261e8bf..cf24d77 100644
--- a/pkg/analyzer/test/src/diagnostics/equal_elements_in_set_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/equal_elements_in_set_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class EqualElementsInSetTest extends DriverResolutionTest {
+class EqualElementsInSetTest extends PubPackageResolutionTest {
test_constant_constant() async {
await assertErrorsInCode('''
const a = 1;
diff --git a/pkg/analyzer/test/src/diagnostics/equal_keys_in_const_map_test.dart b/pkg/analyzer/test/src/diagnostics/equal_keys_in_const_map_test.dart
index 7334278..a9fde6b 100644
--- a/pkg/analyzer/test/src/diagnostics/equal_keys_in_const_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/equal_keys_in_const_map_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,13 +18,13 @@
}
@reflectiveTest
-class EqualKeysInConstMapTest extends DriverResolutionTest {
+class EqualKeysInConstMapTest extends PubPackageResolutionTest {
test_const_entry() async {
await assertErrorsInCode('''
var c = const {1: null, 2: null, 1: null};
''', [
error(CompileTimeErrorCode.EQUAL_KEYS_IN_CONST_MAP, 33, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 15, 1)]),
]);
}
@@ -36,7 +36,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_KEYS_IN_CONST_MAP, 48, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_MAP_ELEMENT, 24, 31),
@@ -99,7 +101,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_KEYS_IN_CONST_MAP, 35, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_MAP_ELEMENT, 24, 18),
@@ -115,7 +119,7 @@
var c = const {const A<int>(): null, const A<int>(): null};
''', [
error(CompileTimeErrorCode.EQUAL_KEYS_IN_CONST_MAP, 66, 14,
- contextMessages: [message('/test/lib/test.dart', 44, 14)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 44, 14)]),
]);
}
@@ -150,7 +154,9 @@
analysisOptions.experimentStatus.constant_update_2018
? [
error(CompileTimeErrorCode.EQUAL_KEYS_IN_CONST_MAP, 27, 9,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [
+ message('$testPackageLibPath/test.dart', 15, 1)
+ ]),
]
: [
error(CompileTimeErrorCode.NON_CONSTANT_MAP_ELEMENT, 24, 12),
diff --git a/pkg/analyzer/test/src/diagnostics/equal_keys_in_map_test.dart b/pkg/analyzer/test/src/diagnostics/equal_keys_in_map_test.dart
index a546d1b..1763922 100644
--- a/pkg/analyzer/test/src/diagnostics/equal_keys_in_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/equal_keys_in_map_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class EqualKeysInMapTest extends DriverResolutionTest {
+class EqualKeysInMapTest extends PubPackageResolutionTest {
test_constant_constant() async {
await assertErrorsInCode('''
const a = 1;
diff --git a/pkg/analyzer/test/src/diagnostics/expected_one_list_type_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/expected_one_list_type_arguments_test.dart
index c478806..5a0f4a6 100644
--- a/pkg/analyzer/test/src/diagnostics/expected_one_list_type_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/expected_one_list_type_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExpectedOneListTypeArgumentsTest extends DriverResolutionTest {
+class ExpectedOneListTypeArgumentsTest extends PubPackageResolutionTest {
test_one_type_argument() async {
await assertNoErrorsInCode(r'''
main() {
diff --git a/pkg/analyzer/test/src/diagnostics/expected_one_set_type_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/expected_one_set_type_arguments_test.dart
index 2192c2b..30f9072 100644
--- a/pkg/analyzer/test/src/diagnostics/expected_one_set_type_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/expected_one_set_type_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExpectedOneSetTypeArgumentsTest extends DriverResolutionTest {
+class ExpectedOneSetTypeArgumentsTest extends PubPackageResolutionTest {
test_multiple_type_arguments() async {
await assertErrorsInCode(r'''
main() {
diff --git a/pkg/analyzer/test/src/diagnostics/expected_two_map_type_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/expected_two_map_type_arguments_test.dart
index 5c1a840..e340953 100644
--- a/pkg/analyzer/test/src/diagnostics/expected_two_map_type_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/expected_two_map_type_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExpectedTwoMapTypeArgumentsTest extends DriverResolutionTest {
+class ExpectedTwoMapTypeArgumentsTest extends PubPackageResolutionTest {
test_three_type_arguments_ambiguous() async {
// TODO(brianwilkerson) We probably need a new error code for "expected
// either one or two type arguments" to handle the ambiguous case.
diff --git a/pkg/analyzer/test/src/diagnostics/export_internal_library_test.dart b/pkg/analyzer/test/src/diagnostics/export_internal_library_test.dart
index 6d5e461..e4a7206 100644
--- a/pkg/analyzer/test/src/diagnostics/export_internal_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_internal_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,12 +14,12 @@
}
@reflectiveTest
-class ExportInternalLibraryTest extends DriverResolutionTest {
+class ExportInternalLibraryTest extends PubPackageResolutionTest {
test_export_internal_library() async {
await assertErrorsInCode('''
-export 'dart:_interceptors';
+export 'dart:_internal';
''', [
- error(CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY, 0, 28),
+ error(CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY, 0, 24),
]);
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
index 833cdff..2d1fa89 100644
--- a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class ExportLegacySymbolTest extends DriverResolutionTest
+class ExportLegacySymbolTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_exportDartAsync() async {
await assertNoErrorsInCode(r'''
@@ -30,7 +29,7 @@
}
test_exportOptedIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
await assertNoErrorsInCode(r'''
@@ -39,11 +38,11 @@
}
test_exportOptedOut_exportOptedIn_hasLegacySymbol() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.5
export 'a.dart';
class B {}
@@ -57,11 +56,11 @@
}
test_exportOptedOut_exportOptedIn_hideLegacySymbol() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.5
export 'a.dart';
class B {}
@@ -73,7 +72,7 @@
}
test_exportOptedOut_hasLegacySymbol() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
class A {}
class B {}
diff --git a/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart b/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
index 3080209..4c4ef49 100644
--- a/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ExportOfNonLibraryTest extends DriverResolutionTest {
+class ExportOfNonLibraryTest extends PubPackageResolutionTest {
test_export_of_non_library() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
part of lib;
''');
await assertErrorsInCode(r'''
@@ -28,7 +28,7 @@
}
test_libraryDeclared() async {
- newFile("/test/lib/lib1.dart", content: "library lib1;");
+ newFile('$testPackageLibPath/lib1.dart', content: "library lib1;");
await assertNoErrorsInCode(r'''
library L;
export 'lib1.dart';
@@ -36,7 +36,7 @@
}
test_libraryNotDeclared() async {
- newFile("/test/lib/lib1.dart");
+ newFile('$testPackageLibPath/lib1.dart');
await assertNoErrorsInCode(r'''
library L;
export 'lib1.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart b/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
index 0763073..56816da 100644
--- a/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExpressionInMapTest extends DriverResolutionTest {
+class ExpressionInMapTest extends PubPackageResolutionTest {
test_map() async {
await assertErrorsInCode('''
var m = <String, int>{'a', 'b' : 2};
diff --git a/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
index c448fae..11c16ab 100644
--- a/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ExtendsDeferredClassTest extends DriverResolutionTest {
+class ExtendsDeferredClassTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
@@ -31,7 +31,7 @@
}
test_extends_deferred_class() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/extends_disallowed_class_test.dart b/pkg/analyzer/test/src/diagnostics/extends_disallowed_class_test.dart
index 8f7c596..7102a8a 100644
--- a/pkg/analyzer/test/src/diagnostics/extends_disallowed_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extends_disallowed_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtendsDisallowedClassTest extends DriverResolutionTest {
+class ExtendsDisallowedClassTest extends PubPackageResolutionTest {
test_class_bool() async {
await assertErrorsInCode('''
class A extends bool {}
diff --git a/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
index d449861..2658ff5 100644
--- a/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ExtendsNonClassTest extends DriverResolutionTest {}
+class ExtendsNonClassTest extends PubPackageResolutionTest {}
@reflectiveTest
class ExtendsNonClassWithNullSafetyTest extends ExtendsNonClassTest
diff --git a/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart b/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
index 17c8776..61d3e2c 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ExtensionAsExpressionTest extends DriverResolutionTest {
+class ExtensionAsExpressionTest extends PubPackageResolutionTest {
test_prefixedIdentifier() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {}
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/extension_conflicting_static_and_instance_test.dart b/pkg/analyzer/test/src/diagnostics/extension_conflicting_static_and_instance_test.dart
index 12ad23a..d2581f7 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_conflicting_static_and_instance_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_conflicting_static_and_instance_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class ExtensionConflictingStaticAndInstanceTest extends DriverResolutionTest {
+class ExtensionConflictingStaticAndInstanceTest
+ extends PubPackageResolutionTest {
CompileTimeErrorCode get _errorCode =>
CompileTimeErrorCode.EXTENSION_CONFLICTING_STATIC_AND_INSTANCE;
diff --git a/pkg/analyzer/test/src/diagnostics/extension_declares_abstract_method_test.dart b/pkg/analyzer/test/src/diagnostics/extension_declares_abstract_method_test.dart
index b85a6d2..831f4b1 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_declares_abstract_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_declares_abstract_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionDeclaresAbstractMethodTest extends DriverResolutionTest {
+class ExtensionDeclaresAbstractMethodTest extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_declares_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/extension_declares_constructor_test.dart
index ac6219d..043d580 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_declares_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_declares_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionDeclaresConstructorTest extends DriverResolutionTest {
+class ExtensionDeclaresConstructorTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_declares_field_test.dart b/pkg/analyzer/test/src/diagnostics/extension_declares_field_test.dart
index 967a0ce..ec4b005 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_declares_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_declares_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionDeclaresFieldTest extends DriverResolutionTest {
+class ExtensionDeclaresFieldTest extends PubPackageResolutionTest {
test_multiple() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_declares_member_of_object_test.dart b/pkg/analyzer/test/src/diagnostics/extension_declares_member_of_object_test.dart
index c959a54..76cd656 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_declares_member_of_object_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_declares_member_of_object_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionDeclaresMemberOfObjectTest extends DriverResolutionTest {
+class ExtensionDeclaresMemberOfObjectTest extends PubPackageResolutionTest {
test_instance_differentKind() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_override_access_to_static_member_test.dart b/pkg/analyzer/test/src/diagnostics/extension_override_access_to_static_member_test.dart
index 735a092..9b46e54 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_override_access_to_static_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_override_access_to_static_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class ExtensionOverrideAccessToStaticMemberTest extends DriverResolutionTest {
+class ExtensionOverrideAccessToStaticMemberTest
+ extends PubPackageResolutionTest {
test_call() async {
await assertErrorsInCode('''
extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
index e553247..6ee8f7b 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_override_argument_not_assignable_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,8 @@
}
@reflectiveTest
-class ExtensionOverrideArgumentNotAssignableTest extends DriverResolutionTest {
+class ExtensionOverrideArgumentNotAssignableTest
+ extends PubPackageResolutionTest {
test_subtype() async {
await assertNoErrorsInCode('''
class A {}
@@ -64,7 +64,7 @@
@reflectiveTest
class ExtensionOverrideArgumentNotAssignableWithNullSafetyTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_override_onNonNullable() async {
await assertErrorsInCode(r'''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_override_with_cascade_test.dart b/pkg/analyzer/test/src/diagnostics/extension_override_with_cascade_test.dart
index dfa1c58..31888e1 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_override_with_cascade_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_override_with_cascade_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionOverrideWithCascadeTest extends DriverResolutionTest {
+class ExtensionOverrideWithCascadeTest extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode('''
extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/extension_override_without_access_test.dart b/pkg/analyzer/test/src/diagnostics/extension_override_without_access_test.dart
index 21a9c6d..a0edc8f 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_override_without_access_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_override_without_access_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtensionOverrideWithoutAccessTest extends DriverResolutionTest {
+class ExtensionOverrideWithoutAccessTest extends PubPackageResolutionTest {
test_binaryExpression() async {
await assertNoErrorsInCode('''
class C {}
diff --git a/pkg/analyzer/test/src/diagnostics/extra_annotation_on_struct_field_test.dart b/pkg/analyzer/test/src/diagnostics/extra_annotation_on_struct_field_test.dart
index 4110fd5..11f9c6c 100644
--- a/pkg/analyzer/test/src/diagnostics/extra_annotation_on_struct_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extra_annotation_on_struct_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ExtraAnnotationOnStructFieldTest extends DriverResolutionTest {
+class ExtraAnnotationOnStructFieldTest extends PubPackageResolutionTest {
test_one() async {
await assertNoErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/extra_positional_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/extra_positional_arguments_test.dart
index 991bdd9..8bb30fb 100644
--- a/pkg/analyzer/test/src/diagnostics/extra_positional_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extra_positional_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,8 @@
}
@reflectiveTest
-class ExtraPositionalArgumentsCouldBeNamedTest extends DriverResolutionTest {
+class ExtraPositionalArgumentsCouldBeNamedTest
+ extends PubPackageResolutionTest {
test_constConstructor() async {
await assertErrorsInCode(r'''
class A {
@@ -69,7 +70,7 @@
}
@reflectiveTest
-class ExtraPositionalArgumentsTest extends DriverResolutionTest {
+class ExtraPositionalArgumentsTest extends PubPackageResolutionTest {
test_constConstructor() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_in_struct_with_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/field_in_struct_with_initializer_test.dart
index 0268520..da75f22 100644
--- a/pkg/analyzer/test/src/diagnostics/field_in_struct_with_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_in_struct_with_initializer_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class FieldInStructWithInitializerTest extends DriverResolutionTest {
+class FieldInStructWithInitializerTest extends PubPackageResolutionTest {
test_instance_withInitializer() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/field_initialized_by_multiple_initializers_test.dart b/pkg/analyzer/test/src/diagnostics/field_initialized_by_multiple_initializers_test.dart
index cc38433..6744663 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initialized_by_multiple_initializers_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initialized_by_multiple_initializers_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class FinalInitializedByMultipleInitializersTest extends DriverResolutionTest {
+class FinalInitializedByMultipleInitializersTest
+ extends PubPackageResolutionTest {
static const _errorCode =
CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS;
diff --git a/pkg/analyzer/test/src/diagnostics/field_initialized_in_initializer_and_declaration_test.dart b/pkg/analyzer/test/src/diagnostics/field_initialized_in_initializer_and_declaration_test.dart
index 45842d2..63a379d 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initialized_in_initializer_and_declaration_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initialized_in_initializer_and_declaration_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class FieldInitializedInInitializerAndDeclarationTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_both() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initialized_in_parameter_and_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/field_initialized_in_parameter_and_initializer_test.dart
index b2c651c..1de0aff 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initialized_in_parameter_and_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initialized_in_parameter_and_initializer_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class FinalInitializedInParameterAndInitializerTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_initializingFormal_initializer() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializer_factory_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializer_factory_constructor_test.dart
index 6368edb..1bbd96b 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializer_factory_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializer_factory_constructor_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class FieldInitializerFactoryConstructorTest extends DriverResolutionTest {
+class FieldInitializerFactoryConstructorTest extends PubPackageResolutionTest {
test_fieldFormalParameter() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializer_in_struct_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializer_in_struct_test.dart
index d0a3c36..f1e7575 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializer_in_struct_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializer_in_struct_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class FieldInitializerInStructTest extends DriverResolutionTest {
+class FieldInitializerInStructTest extends PubPackageResolutionTest {
test_fieldInitializer() async {
await assertErrorsInCode('''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializer_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializer_not_assignable_test.dart
index f71ba45..2667077 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializer_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializer_not_assignable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class FieldInitializerNotAssignableTest extends DriverResolutionTest {
+class FieldInitializerNotAssignableTest extends PubPackageResolutionTest {
test_unrelated() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializer_outside_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializer_outside_constructor_test.dart
index 8c5a955..6e2ce5f 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializer_outside_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializer_outside_constructor_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class FieldInitializerOutsideConstructorTest extends DriverResolutionTest {
+class FieldInitializerOutsideConstructorTest extends PubPackageResolutionTest {
test_closure() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializer_redirecting_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializer_redirecting_constructor_test.dart
index 9a11dde..1bd985e 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializer_redirecting_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializer_redirecting_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class FieldInitializerRedirectingConstructorTest extends DriverResolutionTest {
+class FieldInitializerRedirectingConstructorTest
+ extends PubPackageResolutionTest {
test_afterRedirection() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/field_initializing_formal_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/field_initializing_formal_not_assignable_test.dart
index 392dca0..f3ff4aa 100644
--- a/pkg/analyzer/test/src/diagnostics/field_initializing_formal_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/field_initializing_formal_not_assignable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class FieldInitializingFormalNotAssignableTest extends DriverResolutionTest {
+class FieldInitializingFormalNotAssignableTest
+ extends PubPackageResolutionTest {
test_dynamic() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/final_initialized_in_delcaration_and_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/final_initialized_in_delcaration_and_constructor_test.dart
index 58cfca6..0817c4e 100644
--- a/pkg/analyzer/test/src/diagnostics/final_initialized_in_delcaration_and_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/final_initialized_in_delcaration_and_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class FinalInitializedInDeclarationAndConstructorTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_initializingFormal() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/final_initialized_multiple_times_test.dart b/pkg/analyzer/test/src/diagnostics/final_initialized_multiple_times_test.dart
index 83c5bb9..d860ffe 100644
--- a/pkg/analyzer/test/src/diagnostics/final_initialized_multiple_times_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/final_initialized_multiple_times_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class FinalInitializedMultipleTimesTest extends DriverResolutionTest {
+class FinalInitializedMultipleTimesTest extends PubPackageResolutionTest {
test_initializingFormals_withDefaultValues() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/final_not_initialized_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/final_not_initialized_constructor_test.dart
index b7ea044..3bd3afc 100644
--- a/pkg/analyzer/test/src/diagnostics/final_not_initialized_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/final_not_initialized_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class FinalNotInitializedConstructorTest extends DriverResolutionTest {
+class FinalNotInitializedConstructorTest extends PubPackageResolutionTest {
test_1() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart b/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
index b9e9b36..7e55627 100644
--- a/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/final_not_initialized_test.dart
@@ -6,18 +6,16 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(FinalNotInitializedTest);
- defineReflectiveTests(FinalNotInitializedWithNullSafetyTest);
});
}
@reflectiveTest
-class FinalNotInitializedTest extends DriverResolutionTest {
+class FinalNotInitializedTest extends PubPackageResolutionTest {
test_class_instanceField_final_factoryConstructor_only() async {
await assertNoErrorsInCode('''
class A {
@@ -84,7 +82,7 @@
}
@reflectiveTest
-class FinalNotInitializedWithNullSafetyTest extends DriverResolutionTest
+class FinalNotInitializedWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_field_noConstructor_initializer() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_element_type_test.dart b/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_element_type_test.dart
index 8824a62..916d47f 100644
--- a/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_element_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_element_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ForInOfInvalidElementTypeTest extends DriverResolutionTest {
+class ForInOfInvalidElementTypeTest extends PubPackageResolutionTest {
test_await_declaredVariableWrongType() async {
await assertErrorsInCode('''
import 'dart:async';
diff --git a/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_type_test.dart
index 00e6a70..89baab4 100644
--- a/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/for_in_of_invalid_type_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ForInOfInvalidTypeTest extends DriverResolutionTest {
+class ForInOfInvalidTypeTest extends PubPackageResolutionTest {
test_awaitForIn_dynamic() async {
await assertNoErrorsInCode('''
f(dynamic e) async {
diff --git a/pkg/analyzer/test/src/diagnostics/for_in_with_const_variable_test.dart b/pkg/analyzer/test/src/diagnostics/for_in_with_const_variable_test.dart
index 2336b98..e2630c9 100644
--- a/pkg/analyzer/test/src/diagnostics/for_in_with_const_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/for_in_with_const_variable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ForInWithConstVariableTest extends DriverResolutionTest {
+class ForInWithConstVariableTest extends PubPackageResolutionTest {
test_forEach_loopVariable() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart b/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
index a07471e..72de5dc 100644
--- a/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class GenericFunctionTypeCannotBeBoundTest extends DriverResolutionTest {
+class GenericFunctionTypeCannotBeBoundTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
class C<T extends S Function<S>(S)> {
diff --git a/pkg/analyzer/test/src/diagnostics/generic_struct_subclass_test.dart b/pkg/analyzer/test/src/diagnostics/generic_struct_subclass_test.dart
index ace933d..8b4aef4 100644
--- a/pkg/analyzer/test/src/diagnostics/generic_struct_subclass_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/generic_struct_subclass_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class GenericStructSubclassTest extends DriverResolutionTest {
+class GenericStructSubclassTest extends PubPackageResolutionTest {
test_genericStruct() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart b/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
index e2b4cb8..b4996d1 100644
--- a/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class GetterNotAssignableSetterTypesTest extends DriverResolutionTest {
+class GetterNotAssignableSetterTypesTest extends PubPackageResolutionTest {
test_class_instance_dynamicGetter() async {
await assertNoErrorsInCode(r'''
class C {
@@ -50,7 +50,7 @@
}
test_class_instance_private_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
@@ -67,12 +67,12 @@
}
test_class_instance_private_interfaces() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
class B {
set _foo(String _) {}
}
@@ -86,7 +86,7 @@
}
test_class_instance_private_interfaces2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
@@ -103,7 +103,7 @@
}
test_class_instance_private_setter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
set _foo(String _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
index 3429d34..13631fa 100644
--- a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class GetterNotSubtypeSetterTypesTest extends DriverResolutionTest
+class GetterNotSubtypeSetterTypesTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_class_instance() async {
await assertErrorsInCode('''
@@ -65,7 +64,7 @@
}
test_class_instance_private_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
@@ -82,12 +81,12 @@
}
test_class_instance_private_interfaces() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
class B {
set _foo(String _) {}
}
@@ -101,7 +100,7 @@
}
test_class_instance_private_interfaces2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
@@ -118,7 +117,7 @@
}
test_class_instance_private_setter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
set _foo(String _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
index b3c03b9..710a5cf 100644
--- a/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,9 +19,10 @@
}
@reflectiveTest
-class IfElementConditionFromDeferredLibraryTest extends DriverResolutionTest {
+class IfElementConditionFromDeferredLibraryTest
+ extends PubPackageResolutionTest {
test_inList_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
@@ -43,7 +44,7 @@
}
test_inList_nonConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -53,7 +54,7 @@
}
test_inList_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
@@ -69,7 +70,7 @@
}
test_inMap_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
@@ -91,7 +92,7 @@
}
test_inMap_notConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -101,7 +102,7 @@
}
test_inMap_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
@@ -117,7 +118,7 @@
}
test_inSet_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
@@ -139,7 +140,7 @@
}
test_inSet_notConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -149,7 +150,7 @@
}
test_inSet_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const bool c = true;''');
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/illegal_async_generator_return_type_test.dart b/pkg/analyzer/test/src/diagnostics/illegal_async_generator_return_type_test.dart
index 2e7c537..ac52b34 100644
--- a/pkg/analyzer/test/src/diagnostics/illegal_async_generator_return_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/illegal_async_generator_return_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class IllegalAsyncGeneratorReturnTypeTest extends DriverResolutionTest {
+class IllegalAsyncGeneratorReturnTypeTest extends PubPackageResolutionTest {
test_function_nonStream() async {
await assertErrorsInCode('''
int f() async* {}
diff --git a/pkg/analyzer/test/src/diagnostics/illegal_async_return_type_test.dart b/pkg/analyzer/test/src/diagnostics/illegal_async_return_type_test.dart
index 55ed10e..3302326 100644
--- a/pkg/analyzer/test/src/diagnostics/illegal_async_return_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/illegal_async_return_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class IllegalAsyncReturnTypeTest extends DriverResolutionTest {
+class IllegalAsyncReturnTypeTest extends PubPackageResolutionTest {
test_function_nonFuture() async {
await assertErrorsInCode('''
int f() async {}
diff --git a/pkg/analyzer/test/src/diagnostics/illegal_sync_generator_return_type_test.dart b/pkg/analyzer/test/src/diagnostics/illegal_sync_generator_return_type_test.dart
index f8d48e3..1656f94 100644
--- a/pkg/analyzer/test/src/diagnostics/illegal_sync_generator_return_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/illegal_sync_generator_return_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class IllegalSyncGeneratorReturnTypeTest extends DriverResolutionTest {
+class IllegalSyncGeneratorReturnTypeTest extends PubPackageResolutionTest {
test_function_iterator() async {
await assertNoErrorsInCode('''
Iterable<void> f() sync* {}
diff --git a/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
index 771fd00..aaa6cf5 100644
--- a/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ImplementsDeferredClassTest extends DriverResolutionTest {
+class ImplementsDeferredClassTest extends PubPackageResolutionTest {
test_implements() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
@@ -30,7 +30,7 @@
}
test_mixinApplication() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/implements_disallowed_class_test.dart b/pkg/analyzer/test/src/diagnostics/implements_disallowed_class_test.dart
index f106f37..64e25bc 100644
--- a/pkg/analyzer/test/src/diagnostics/implements_disallowed_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implements_disallowed_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ImplementsDisallowedClassTest extends DriverResolutionTest {
+class ImplementsDisallowedClassTest extends PubPackageResolutionTest {
test_class_bool() async {
await assertErrorsInCode('''
class A implements bool {}
diff --git a/pkg/analyzer/test/src/diagnostics/implements_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/implements_non_class_test.dart
index 803aa67..adcb2a3 100644
--- a/pkg/analyzer/test/src/diagnostics/implements_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implements_non_class_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ImplementsNonClassTest extends DriverResolutionTest {
+class ImplementsNonClassTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
int A = 7;
diff --git a/pkg/analyzer/test/src/diagnostics/implements_super_class_test.dart b/pkg/analyzer/test/src/diagnostics/implements_super_class_test.dart
index 6ad751f..c6ba3d3 100644
--- a/pkg/analyzer/test/src/diagnostics/implements_super_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implements_super_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ImplementsSuperClassTest extends DriverResolutionTest {
+class ImplementsSuperClassTest extends PubPackageResolutionTest {
test_implements_super_class() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
index 1dad8ec..3b81868 100644
--- a/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ImplicitThisReferenceInInitializerTest extends DriverResolutionTest {
+class ImplicitThisReferenceInInitializerTest extends PubPackageResolutionTest {
test_class_field_commentReference_prefixedIdentifier() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart b/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
index 2838d5e..040fe91 100644
--- a/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
@@ -6,7 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,51 +15,52 @@
}
@reflectiveTest
-class ImportDeferredLibraryWithLoadFunctionTest extends DriverResolutionTest {
+class ImportDeferredLibraryWithLoadFunctionTest
+ extends PubPackageResolutionTest {
test_deferredImport_withLoadLibraryFunction() async {
- newFile('/pkg1/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
loadLibrary() {}
f() {}''');
- newFile('/pkg1/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library root;
import 'lib1.dart' deferred as lib1;
main() { lib1.f(); }''');
- await _resolveFile('/pkg1/lib/lib1.dart');
- await _resolveFile('/pkg1/lib/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.IMPORT_DEFERRED_LIBRARY_WITH_LOAD_FUNCTION, 14, 36),
]);
}
test_deferredImport_withoutLoadLibraryFunction() async {
- newFile('/pkg1/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
f() {}''');
- newFile('/pkg1/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library root;
import 'lib1.dart' deferred as lib1;
main() { lib1.f(); }''');
- await _resolveFile('/pkg1/lib/lib1.dart');
- await _resolveFile('/pkg1/lib/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_nonDeferredImport_withLoadLibraryFunction() async {
- newFile('/pkg1/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
library lib1;
loadLibrary() {}
f() {}''');
- newFile('/pkg1/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
library root;
import 'lib1.dart' as lib1;
main() { lib1.f(); }''');
- await _resolveFile('/pkg1/lib/lib1.dart');
- await _resolveFile('/pkg1/lib/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
/// Resolve the file with the given [path].
diff --git a/pkg/analyzer/test/src/diagnostics/import_internal_library_test.dart b/pkg/analyzer/test/src/diagnostics/import_internal_library_test.dart
index 7397975..3ba652a 100644
--- a/pkg/analyzer/test/src/diagnostics/import_internal_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_internal_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ImportInternalLibraryTest extends DriverResolutionTest {
+class ImportInternalLibraryTest extends PubPackageResolutionTest {
test_internal() async {
// Note, in these error cases we may generate an UNUSED_IMPORT hint, while
// we could prevent the hint from being generated by testing the import
@@ -22,10 +22,10 @@
// think we should add the additional computation time to figure out such
// cases.
await assertErrorsInCode('''
-import 'dart:_interceptors';
+import 'dart:_internal';
''', [
- error(CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, 7, 20),
- error(HintCode.UNUSED_IMPORT, 7, 20),
+ error(CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, 7, 16),
+ error(HintCode.UNUSED_IMPORT, 7, 16),
]);
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart b/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
index 36ac79a..55109a1 100644
--- a/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class ImportOfNonLibraryTest extends DriverResolutionTest {
+class ImportOfNonLibraryTest extends PubPackageResolutionTest {
test_deferred() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
part of lib;
class A {}
''');
@@ -30,7 +30,7 @@
}
test_part() async {
- newFile("/test/lib/part.dart", content: r'''
+ newFile('$testPackageLibPath/part.dart', content: r'''
part of lib;
class A{}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
index 9e1911c..775c57b 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class InconsistentCaseExpressionTypesTest extends DriverResolutionTest {
+class InconsistentCaseExpressionTypesTest extends PubPackageResolutionTest {
test_dynamic() async {
// Even though A.S and S have a static type of "dynamic", we should see
// that they match 'abc', because they are constant strings.
@@ -115,9 +114,9 @@
@reflectiveTest
class InconsistentCaseExpressionTypesWithNullSafetyTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_int_none_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
const a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_getter_and_method_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_getter_and_method_test.dart
index 029df6c..a396382 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_getter_and_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_getter_and_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class InconsistentInheritanceGetterAndMethodTest extends DriverResolutionTest {
+class InconsistentInheritanceGetterAndMethodTest
+ extends PubPackageResolutionTest {
test_class_getter_method() async {
await assertErrorsInCode(r'''
abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_test.dart
index 7d6f23e..0820fb8 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_inheritance_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InconsistentInheritanceTest extends DriverResolutionTest {
+class InconsistentInheritanceTest extends PubPackageResolutionTest {
test_class_parameterType() async {
await assertErrorsInCode(r'''
abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
index 3e42a57..22eb5ae 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
@@ -7,7 +7,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class InconsistentLanguageVersionOverrideTest extends DriverResolutionTest {
+class InconsistentLanguageVersionOverrideTest extends PubPackageResolutionTest {
CompileTimeErrorCode get _errorCode =>
CompileTimeErrorCode.INCONSISTENT_LANGUAGE_VERSION_OVERRIDE;
@@ -97,8 +97,8 @@
@required String partContent,
@required List<ExpectedError> libraryErrors,
}) async {
- var libraryPath = convertPath('/test/lib/a.dart');
- var partPath = convertPath('/test/lib/b.dart');
+ var libraryPath = convertPath('$testPackageLibPath/a.dart');
+ var partPath = convertPath('$testPackageLibPath/b.dart');
newFile(libraryPath, content: libraryContent);
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_collection_literal_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_collection_literal_test.dart
index 70f51bf..ad65005 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_collection_literal_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_collection_literal_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,16 @@
}
@reflectiveTest
-class InferenceFailureOnCollectionLiteralTest extends DriverResolutionTest {
+class InferenceFailureOnCollectionLiteralTest extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictInference = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictInference: true,
+ ),
+ );
+ }
test_collectionsWithAnyElements() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_return_type_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_return_type_test.dart
index a3f0bd4..1940b0a 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_return_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_return_type_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,10 +16,17 @@
/// Tests of HintCode.INFERENCE_FAILURE_ON_FUNCTION_RETURN_TYPE with the
/// "strict-inference" static analysis option.
@reflectiveTest
-class InferenceFailureOnFunctionReturnTypeTest extends DriverResolutionTest {
+class InferenceFailureOnFunctionReturnTypeTest
+ extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictInference = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictInference: true,
+ ),
+ );
+ }
test_classInstanceGetter() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_instance_creation_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_instance_creation_test.dart
index b3fba28..6e39da6 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_instance_creation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_instance_creation_test.dart
@@ -3,12 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,11 +15,16 @@
}
@reflectiveTest
-class InferenceFailureOnInstanceCreationTest extends DriverResolutionTest
- with PackageMixin {
+class InferenceFailureOnInstanceCreationTest extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictInference = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictInference: true,
+ ),
+ );
+ }
test_constructorNames_named() async {
await assertErrorsInCode('''
@@ -77,7 +80,7 @@
}
test_missingTypeArgument_noInference_optionalTypeArgs() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart
index 93714bb..f6a67f2 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,10 +16,17 @@
/// Tests of HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE with the
/// "strict-inference" static analysis option.
@reflectiveTest
-class InferenceFailureOnUninitializedVariableTest extends DriverResolutionTest {
+class InferenceFailureOnUninitializedVariableTest
+ extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictInference = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictInference: true,
+ ),
+ );
+ }
test_field() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart
index 5064a6c..47e4695 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,10 +16,16 @@
/// Tests of HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER with the
/// "strict-inference" static analysis option.
@reflectiveTest
-class InferenceFailureOnUntypedParameterTest extends DriverResolutionTest {
+class InferenceFailureOnUntypedParameterTest extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictInference = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictInference: true,
+ ),
+ );
+ }
test_fieldParameter() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/initializer_for_non_existent_field_test.dart b/pkg/analyzer/test/src/diagnostics/initializer_for_non_existent_field_test.dart
index 723dbb1..43361f5 100644
--- a/pkg/analyzer/test/src/diagnostics/initializer_for_non_existent_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/initializer_for_non_existent_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InitializerForNonExistentFieldTest extends DriverResolutionTest {
+class InitializerForNonExistentFieldTest extends PubPackageResolutionTest {
test_const() async {
// Check that the absence of a matching field doesn't cause a
// crash during constant evaluation.
diff --git a/pkg/analyzer/test/src/diagnostics/initializer_for_static_field_test.dart b/pkg/analyzer/test/src/diagnostics/initializer_for_static_field_test.dart
index 792cbd5..6aa701f 100644
--- a/pkg/analyzer/test/src/diagnostics/initializer_for_static_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/initializer_for_static_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InitializerForStaticFieldTest extends DriverResolutionTest {
+class InitializerForStaticFieldTest extends PubPackageResolutionTest {
test_static() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/initializing_formal_for_non_existent_field_test.dart b/pkg/analyzer/test/src/diagnostics/initializing_formal_for_non_existent_field_test.dart
index 971ba67..2a01c1d 100644
--- a/pkg/analyzer/test/src/diagnostics/initializing_formal_for_non_existent_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/initializing_formal_for_non_existent_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class InitializingFormalForNonExistentFieldTest extends DriverResolutionTest {
+class InitializingFormalForNonExistentFieldTest
+ extends PubPackageResolutionTest {
test_nonExistent() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/initializing_formal_for_static_field_test.dart b/pkg/analyzer/test/src/diagnostics/initializing_formal_for_static_field_test.dart
index b6b4238..b79eba6 100644
--- a/pkg/analyzer/test/src/diagnostics/initializing_formal_for_static_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/initializing_formal_for_static_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InitializingFormalForStaticFieldTest extends DriverResolutionTest {
+class InitializingFormalForStaticFieldTest extends PubPackageResolutionTest {
test_static() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/instance_access_to_static_member_test.dart b/pkg/analyzer/test/src/diagnostics/instance_access_to_static_member_test.dart
index 6eb6bef..8644b85 100644
--- a/pkg/analyzer/test/src/diagnostics/instance_access_to_static_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/instance_access_to_static_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstanceAccessToStaticMemberTest extends DriverResolutionTest {
+class InstanceAccessToStaticMemberTest extends PubPackageResolutionTest {
test_extension_getter() async {
await assertErrorsInCode('''
class C {}
diff --git a/pkg/analyzer/test/src/diagnostics/instance_member_access_from_factory_test.dart b/pkg/analyzer/test/src/diagnostics/instance_member_access_from_factory_test.dart
index d5d6125..5bde8d7 100644
--- a/pkg/analyzer/test/src/diagnostics/instance_member_access_from_factory_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/instance_member_access_from_factory_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstanceMemberAccessFromFactoryTest extends DriverResolutionTest {
+class InstanceMemberAccessFromFactoryTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/instance_member_access_from_static_test.dart b/pkg/analyzer/test/src/diagnostics/instance_member_access_from_static_test.dart
index af6fa96..4ec14fa 100644
--- a/pkg/analyzer/test/src/diagnostics/instance_member_access_from_static_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/instance_member_access_from_static_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstanceMemberAccessFromStaticTest extends DriverResolutionTest {
+class InstanceMemberAccessFromStaticTest extends PubPackageResolutionTest {
test_class_getter_fromMethod() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/instantiate_abstract_class_test.dart b/pkg/analyzer/test/src/diagnostics/instantiate_abstract_class_test.dart
index 271ffff..6c1e237 100644
--- a/pkg/analyzer/test/src/diagnostics/instantiate_abstract_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/instantiate_abstract_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstantiateAbstractClassTest extends DriverResolutionTest {
+class InstantiateAbstractClassTest extends PubPackageResolutionTest {
test_const_generic() async {
await assertErrorsInCode('''
abstract class A<E> {
diff --git a/pkg/analyzer/test/src/diagnostics/instantiate_enum_test.dart b/pkg/analyzer/test/src/diagnostics/instantiate_enum_test.dart
index 46856fe..0fd804c 100644
--- a/pkg/analyzer/test/src/diagnostics/instantiate_enum_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/instantiate_enum_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InstantiateEnumTest extends DriverResolutionTest {
+class InstantiateEnumTest extends PubPackageResolutionTest {
test_const() async {
await assertErrorsInCode(r'''
enum E { ONE }
diff --git a/pkg/analyzer/test/src/diagnostics/integer_literal_imprecise_as_double_test.dart b/pkg/analyzer/test/src/diagnostics/integer_literal_imprecise_as_double_test.dart
index 9d96bc5..8c831b2 100644
--- a/pkg/analyzer/test/src/diagnostics/integer_literal_imprecise_as_double_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/integer_literal_imprecise_as_double_test.dart
@@ -7,7 +7,7 @@
import 'package:test/test.dart' show expect;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class IntegerLiteralImpreciseAsDoubleTest extends DriverResolutionTest {
+class IntegerLiteralImpreciseAsDoubleTest extends PubPackageResolutionTest {
test_excessiveExponent() async {
await assertErrorsInCode(
'double x = 0xfffffffffffff80000000000000000000000000000000000000000000'
diff --git a/pkg/analyzer/test/src/diagnostics/integer_literal_out_of_range_test.dart b/pkg/analyzer/test/src/diagnostics/integer_literal_out_of_range_test.dart
index 1a2991c..0d1d08e 100644
--- a/pkg/analyzer/test/src/diagnostics/integer_literal_out_of_range_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/integer_literal_out_of_range_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class IntegerLiteralOutOfRangeTest extends DriverResolutionTest {
+class IntegerLiteralOutOfRangeTest extends PubPackageResolutionTest {
test_negative() async {
await assertErrorsInCode('''
int x = -9223372036854775809;
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
index a235c79..88263a6 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,10 @@
}
@reflectiveTest
-class InvalidAnnotationFromDeferredLibraryTest extends DriverResolutionTest {
+class InvalidAnnotationFromDeferredLibraryTest
+ extends PubPackageResolutionTest {
test_constructor() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class C { const C(); }
''');
@@ -31,7 +32,7 @@
}
test_from_deferred_library() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class V { const V(); }
const v = const V();
@@ -47,7 +48,7 @@
}
test_namedConstructor() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class C { const C.name(); }
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_getter_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_getter_test.dart
index be6978d..9963bea 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_getter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidAnnotationGetterTest extends DriverResolutionTest {
+class InvalidAnnotationGetterTest extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode(r'''
get V => 0;
@@ -27,7 +27,7 @@
}
test_importWithPrefix_getter() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
get V => 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
index b799306..1ad964c 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class InvalidAnnotationTest extends DriverResolutionTest {
+class InvalidAnnotationTest extends PubPackageResolutionTest {
test_importWithPrefix_notConstantVariable() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
final V = 0;
''');
@@ -31,7 +31,7 @@
}
test_importWithPrefix_notVariableOrConstructorInvocation() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
typedef V();
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_assignment_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_assignment_test.dart
index d553a80..da01c89 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_assignment_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_assignment_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -94,7 +93,7 @@
}
@reflectiveTest
-class InvalidAssignmentTest extends DriverResolutionTest {
+class InvalidAssignmentTest extends PubPackageResolutionTest {
test_assignment_to_dynamic() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_cast_new_expr_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_cast_new_expr_test.dart
index 3ea45a5..fc1ce1e 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_cast_new_expr_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_cast_new_expr_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidCastNewExprTest extends DriverResolutionTest {
+class InvalidCastNewExprTest extends PubPackageResolutionTest {
test_listLiteral_const() async {
await assertErrorsInCode(r'''
const c = <B>[A()];
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
index cefb793..a000c02 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class InvalidConstantTest extends DriverResolutionTest {
+class InvalidConstantTest extends PubPackageResolutionTest {
test_in_initializer_assert_condition() async {
await assertErrorsInCode('''
class A {
@@ -50,7 +49,7 @@
}
test_in_initializer_from_deferred_library_field() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const int c = 1;''');
await assertErrorsInCode('''
@@ -66,7 +65,7 @@
}
test_in_initializer_from_deferred_library_field_nested() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const int c = 1;
''');
@@ -83,7 +82,7 @@
}
test_in_initializer_from_deferred_library_redirecting() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const int c = 1;
''');
@@ -100,7 +99,7 @@
}
test_in_initializer_from_deferred_library_super() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const int c = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_constructor_name_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_constructor_name_test.dart
index ba7337a..049f378 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_constructor_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_constructor_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidConstructorNameTest extends DriverResolutionTest {
+class InvalidConstructorNameTest extends PubPackageResolutionTest {
test_notEnclosingClassName_defined() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_exception_value_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_exception_value_test.dart
index 2d3b9b1..ce4bb84 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_exception_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_exception_value_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidExceptionValueTest extends DriverResolutionTest {
+class InvalidExceptionValueTest extends PubPackageResolutionTest {
test_missing() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_extension_argument_count_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_extension_argument_count_test.dart
index 59375f2..5a4f4bf 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_extension_argument_count_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_extension_argument_count_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidExtensionArgumentCountTest extends DriverResolutionTest {
+class InvalidExtensionArgumentCountTest extends PubPackageResolutionTest {
test_many() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_factory_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_factory_annotation_test.dart
index 0011b60..759ae73 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_factory_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_factory_annotation_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,14 @@
}
@reflectiveTest
-class InvalidFactoryAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidFactoryAnnotationTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_class() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
@factory
@@ -30,7 +33,6 @@
}
test_field() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class X {
@@ -43,7 +45,6 @@
}
test_topLevelFunction() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
@factory
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_factory_method_impl_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_factory_method_impl_test.dart
index c11b9f2..596fbc6 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_factory_method_impl_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_factory_method_impl_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,14 @@
}
@reflectiveTest
-class InvalidFactoryMethodImplTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidFactoryMethodImplTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_abstract() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
abstract class Stateful {
@@ -30,7 +33,6 @@
}
test_badReturn() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class Stateful {
@@ -46,7 +48,6 @@
}
test_block() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class Stateful {
@@ -60,7 +61,6 @@
}
test_block_returnNull() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class Stateful {
@@ -74,7 +74,6 @@
}
test_expr() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class Stateful {
@@ -86,7 +85,6 @@
}
test_expr_returnNull() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class Stateful {
@@ -98,7 +96,6 @@
}
test_noReturnType() async {
- addMetaPackage();
// Null return types will get flagged elsewhere, no need to pile on here.
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@@ -112,7 +109,6 @@
}
test_subclass() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
abstract class Stateful {
@@ -132,7 +128,6 @@
}
test_voidReturn() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_factory_name_not_a_class_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_factory_name_not_a_class_test.dart
index 53d8d5f..5a7c46b 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_factory_name_not_a_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_factory_name_not_a_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidFactoryNameNotAClassTest extends DriverResolutionTest {
+class InvalidFactoryNameNotAClassTest extends PubPackageResolutionTest {
test_notClassName() async {
await assertErrorsInCode(r'''
int B;
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_field_type_in_struct_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_field_type_in_struct_test.dart
index 7a0e10d..06cd7f3 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_field_type_in_struct_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_field_type_in_struct_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidFieldTypeInStructTest extends DriverResolutionTest {
+class InvalidFieldTypeInStructTest extends PubPackageResolutionTest {
test_instance_invalid() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_immutable_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_immutable_annotation_test.dart
index 86f3980..81be70f 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_immutable_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_immutable_annotation_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,14 @@
}
@reflectiveTest
-class InvalidImmutableAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidImmutableAnnotationTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_class() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@immutable
@@ -29,7 +32,6 @@
}
test_method() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_language_override_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_language_override_test.dart
index ce3819f..020ebfb 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_language_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_language_override_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidLanguageOverrideTest extends DriverResolutionTest {
+class InvalidLanguageOverrideTest extends PubPackageResolutionTest {
test_correct_11_12() async {
await assertErrorsInCode(r'''
// @dart = 11.12
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_literal_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_literal_annotation_test.dart
index 08262bc..73e21ae 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_literal_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_literal_annotation_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,14 @@
}
@reflectiveTest
-class InvalidLiteralAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidLiteralAnnotationTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_constConstructor() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -29,7 +32,6 @@
}
test_nonConstConstructor() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -42,7 +44,6 @@
}
test_nonConstructor() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_constructor_test.dart
index bf3351e..0d0973d 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidModifierOnConstructorTest extends DriverResolutionTest {
+class InvalidModifierOnConstructorTest extends PubPackageResolutionTest {
test_async() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_setter_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_setter_test.dart
index 11e9f5e..f5fb7e2 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_modifier_on_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidModifierOnSetterTest extends DriverResolutionTest {
+class InvalidModifierOnSetterTest extends PubPackageResolutionTest {
test_member_async() async {
// TODO(danrubel): Investigate why error message is duplicated when
// using fasta parser.
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_non_virtual_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_non_virtual_annotation_test.dart
index d0c52ae..a159977 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_non_virtual_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_non_virtual_annotation_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class InvalidNonVirtualAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidNonVirtualAnnotationTest extends PubPackageResolutionTest {
@override
- setUp() {
+ void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_class() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
index 3227770..32cefad 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,8 +15,8 @@
}
@reflectiveTest
-class InvalidNullAwareOperatorAfterShortCircuitTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class InvalidNullAwareOperatorAfterShortCircuitTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
Future<void> test_getter_previousTarget() async {
await assertErrorsInCode('''
void f(String? s) {
@@ -26,7 +25,7 @@
''', [
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
31, 2,
- contextMessages: [message('/test/lib/test.dart', 23, 2)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 23, 2)]),
]);
}
@@ -38,7 +37,7 @@
''', [
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
27, 2,
- contextMessages: [message('/test/lib/test.dart', 23, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 23, 1)]),
]);
}
@@ -54,7 +53,7 @@
''', [
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
75, 2,
- contextMessages: [message('/test/lib/test.dart', 69, 2)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 69, 2)]),
]);
}
@@ -66,7 +65,7 @@
''', [
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
40, 2,
- contextMessages: [message('/test/lib/test.dart', 23, 2)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 23, 2)]),
]);
}
@@ -78,16 +77,16 @@
''', [
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
40, 2,
- contextMessages: [message('/test/lib/test.dart', 23, 2)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 23, 2)]),
error(StaticWarningCode.INVALID_NULL_AWARE_OPERATOR_AFTER_SHORT_CIRCUIT,
55, 2,
- contextMessages: [message('/test/lib/test.dart', 23, 2)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 23, 2)]),
]);
}
}
@reflectiveTest
-class InvalidNullAwareOperatorTest extends DriverResolutionTest
+class InvalidNullAwareOperatorTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_getter_class() async {
await assertNoErrorsInCode('''
@@ -114,7 +113,7 @@
}
test_getter_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = 0;
''');
@@ -166,7 +165,7 @@
/// report [StaticWarningCode.INVALID_NULL_AWARE_OPERATOR]. But we also
/// report another error.
test_getter_prefix() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int x = 0;
''');
await assertErrorsInCode('''
@@ -181,7 +180,7 @@
}
test_index_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = [0];
''');
@@ -242,7 +241,7 @@
}
test_method_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = 0;
''');
@@ -299,7 +298,7 @@
}
test_nullableSpread_legacyType() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = <int>[];
''');
@@ -371,7 +370,7 @@
/// report [StaticWarningCode.INVALID_NULL_AWARE_OPERATOR]. But we also
/// report another error.
test_setter_prefix() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int x = 0;
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
index 267f92e..e3a0206 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +18,7 @@
@reflectiveTest
class InvalidOverrideDifferentDefaultValuesNamedTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_abstract_different_base_value() async {
await assertErrorsInCode(r'''
abstract class A {
@@ -172,7 +171,7 @@
}
test_concrete_equal_otherLibrary() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo([a = 0]) {}
}
@@ -187,7 +186,7 @@
}
test_concrete_equal_otherLibrary_listLiteral() async {
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
class C {
void foo({x: const ['x']}) {}
}
@@ -302,7 +301,7 @@
extends InvalidOverrideDifferentDefaultValuesNamedTest
with WithNullSafetyMixin {
test_concrete_equal_optIn_extends_optOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A {
void foo({int a = 0}) {}
@@ -319,7 +318,7 @@
}
test_concrete_equal_optOut_extends_optIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo({int a = 0}) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
index 1995413..67d9fa8 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +18,7 @@
@reflectiveTest
class InvalidOverrideDifferentDefaultValuesPositionalTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_abstract_different_base_value() async {
await assertErrorsInCode(r'''
abstract class A {
@@ -184,7 +183,7 @@
}
test_concrete_equal_otherLibrary() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo([x = 0]) {}
}
@@ -199,7 +198,7 @@
}
test_concrete_equal_otherLibrary_listLiteral() async {
- newFile('/test/lib/other.dart', content: '''
+ newFile('$testPackageLibPath/other.dart', content: '''
class C {
void foo([x = const ['x']]) {}
}
@@ -317,7 +316,7 @@
extends InvalidOverrideDifferentDefaultValuesPositionalTest
with WithNullSafetyMixin {
test_concrete_equal_optIn_extends_optOut() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
class A {
void foo([int a = 0]) {}
@@ -334,7 +333,7 @@
}
test_concrete_equal_optOut_extends_optIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo([int a = 0]) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_of_non_virtual_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_of_non_virtual_member_test.dart
index 613fdb9..10a52f8 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_of_non_virtual_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_of_non_virtual_member_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class InvalidOverrideOfNonVirtualMemberTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidOverrideOfNonVirtualMemberTest extends PubPackageResolutionTest {
@override
- setUp() {
+ void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_class_field() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
index d234456..6809dfa 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class InvalidOverrideTest extends DriverResolutionTest {
+class InvalidOverrideTest extends PubPackageResolutionTest {
test_getter_returnType() async {
await assertErrorsInCode('''
class A {
@@ -561,10 +560,10 @@
}
@reflectiveTest
-class InvalidOverrideWithNullSafetyTest extends DriverResolutionTest
+class InvalidOverrideWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_method_parameter_functionTyped_optOut_extends_optIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
abstract class A {
A catchError(void Function(Object) a);
}
@@ -581,7 +580,7 @@
}
test_method_parameter_interfaceOptOut_concreteOptIn() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo(Object a) {}
}
@@ -598,7 +597,7 @@
}
test_mixedInheritance_1() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class B {
List<int Function(int)> get a => [];
set a(List<int Function(int)> _) {}
@@ -612,7 +611,7 @@
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.7
import 'a.dart';
@@ -628,7 +627,7 @@
}
test_mixedInheritance_2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class B {
List<int Function(int)> get a => [];
set a(List<int Function(int)> _) {}
@@ -642,7 +641,7 @@
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart = 2.7
import 'a.dart';
@@ -661,7 +660,7 @@
}
test_viaLegacy_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A1 {
int m() => 0;
int get g => 0;
@@ -675,7 +674,7 @@
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart=2.6
import 'a.dart';
@@ -698,7 +697,7 @@
}
test_viaLegacy_mixin() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A1 {
int m() => 0;
int get g => 0;
@@ -712,7 +711,7 @@
}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile('$testPackageLibPath/b.dart', content: r'''
// @dart=2.6
import 'a.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_reference_to_this_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_reference_to_this_test.dart
index 1421341..48725a2 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_reference_to_this_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_reference_to_this_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class InvalidReferenceToThisTest extends DriverResolutionTest {
+class InvalidReferenceToThisTest extends PubPackageResolutionTest {
test_constructor_valid() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_required_named_param_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_required_named_param_test.dart
index baca673..50c6f22 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_required_named_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_required_named_param_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class InvalidRequiredNamedParamTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidRequiredNamedParamTest extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_namedParameter_withDefault() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_required_optional_positional_param_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_required_optional_positional_param_test.dart
index 71ba74c..4af82b8 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_required_optional_positional_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_required_optional_positional_param_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,12 @@
}
@reflectiveTest
-class InvalidRequiredOptionalPositionalParamTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidRequiredOptionalPositionalParamTest
+ extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_positionalParameter_noDefault() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_required_positional_param_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_required_positional_param_test.dart
index 5717328..39caa76 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_required_positional_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_required_positional_param_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class InvalidRequiredPositionalParamTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidRequiredPositionalParamTest extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_requiredPositionalParameter() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_sealed_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_sealed_annotation_test.dart
index 9273a7b..20a4f62 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_sealed_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_sealed_annotation_test.dart
@@ -3,24 +3,22 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
- defineReflectiveTests(InvalidLiteralAnnotationTest);
+ defineReflectiveTests(InvalidSealedAnnotationTest);
});
}
@reflectiveTest
-class InvalidLiteralAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidSealedAnnotationTest extends PubPackageResolutionTest {
@override
- setUp() {
+ void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_class() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_super_invocation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_super_invocation_test.dart
index 4ea6c25..bf48fa1 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_super_invocation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_super_invocation_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidSuperInvocationTest extends DriverResolutionTest {
+class InvalidSuperInvocationTest extends PubPackageResolutionTest {
test_superBeforeAssert() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_list_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_list_test.dart
index 334e8e1..a47fffd 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_list_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_list_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidTypeArgumentInConstListTest extends DriverResolutionTest {
+class InvalidTypeArgumentInConstListTest extends PubPackageResolutionTest {
test_type_parameter() async {
await assertErrorsInCode(r'''
class A<E> {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_map_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_map_test.dart
index 8d0bf55..3c75e1d 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_map_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidTypeArgumentInConstMapTest extends DriverResolutionTest {
+class InvalidTypeArgumentInConstMapTest extends PubPackageResolutionTest {
test_key() async {
await assertErrorsInCode(r'''
class A<E> {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_set_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_set_test.dart
index aaffeb6..fe0c076 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_set_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_type_argument_in_const_set_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidTypeArgumentInConstSetTest extends DriverResolutionTest {
+class InvalidTypeArgumentInConstSetTest extends PubPackageResolutionTest {
test_type_parameter() async {
await assertErrorsInCode(r'''
class A<E> {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_uri_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_uri_test.dart
index 3240d4d..3304a00 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_uri_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_uri_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidUriTest extends DriverResolutionTest {
+class InvalidUriTest extends PubPackageResolutionTest {
test_emptyUri() async {
await assertNoErrorsInCode('''
import '' as top;
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_covariant_in_extension_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_covariant_in_extension_test.dart
index 93d316f..93727c5 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_covariant_in_extension_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_covariant_in_extension_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/generated/parser.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvalidUseOfCovariantInExtensionTest extends DriverResolutionTest {
+class InvalidUseOfCovariantInExtensionTest extends PubPackageResolutionTest {
test_optional_named() async {
await assertErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
index 1a807fe..9c15de5 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
@@ -3,11 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,11 +15,15 @@
}
@reflectiveTest
-class InvalidUseOfProtectedMemberTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidUseOfProtectedMemberTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_closure() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@@ -28,7 +31,7 @@
int a() => 42;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
@@ -37,14 +40,13 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 56, 1),
]);
}
test_extendingSubclass() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -57,15 +59,14 @@
}
test_extension_outsideClassAndFile() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
void a(int i) {}
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
extension E on A {
e() {
@@ -74,14 +75,13 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 51, 1),
]);
}
test_field() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -95,29 +95,27 @@
}
test_field_outsideClassAndLibrary() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
int a;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
abstract class B {
int b() => new A().a;
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 60, 1),
]);
}
test_field_subclassAndSameLibrary() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -130,15 +128,14 @@
}
test_fromSuperclassConstraint() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
abstract class A {
@protected
void foo() {}
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
mixin M on A {
@override
@@ -148,20 +145,19 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_function_outsideClassAndLibrary() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
void a(){ }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
main() {
@@ -169,14 +165,13 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 40, 1),
]);
}
test_function_sameLibrary() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -189,7 +184,6 @@
}
test_function_subclass() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -203,7 +197,6 @@
}
test_getter() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -217,15 +210,14 @@
}
test_getter_outsideClassAndLibrary() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
int get a => 42;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
class B {
A a;
@@ -233,14 +225,13 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 52, 1),
]);
}
test_getter_subclass() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -253,8 +244,7 @@
}
test_inDocs() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@@ -268,26 +258,25 @@
int a() => 0;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
/// OK: [A.a], [A.b], [A.c].
f() {}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_method_outsideClassAndLibrary() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
void a() {}
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
class B {
@@ -295,15 +284,14 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 53, 1),
]);
}
test_method_subclass() async {
// https://github.com/dart-lang/linter/issues/257
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@@ -323,7 +311,6 @@
}
test_mixingIn() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -339,7 +326,6 @@
// TODO(srawlins): This test verifies that the analyzer **allows**
// protected members to be called from static members, which violates the
// protected spec.
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -351,7 +337,6 @@
}
test_sameLibrary() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -370,15 +355,14 @@
// TODO(srawlins): This test verifies that the analyzer **allows**
// protected members to be called on objects other than `this`, which
// violates the protected spec.
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
void set a(int i) { }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
class B {
A a;
@@ -388,14 +372,13 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_PROTECTED_MEMBER, 56, 1),
]);
}
test_setter_sameClass() async {
- addMetaPackage();
await assertErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -412,7 +395,6 @@
}
test_setter_subclass() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -428,7 +410,6 @@
}
test_setter_subclassImplementing() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
class A {
@@ -443,7 +424,6 @@
}
test_topLevelVariable() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@protected
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
index 858747c..d894e7d 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
@@ -2,13 +2,12 @@
// 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:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,11 +16,19 @@
}
@reflectiveTest
-class InvalidUseOfVisibleForTemplateMemberTest extends DriverResolutionTest
- with PackageMixin {
- void addAngularMetaPackage() {
- Folder lib = addPubPackage('angular_meta');
- newFile(join(lib.path, 'angular_meta.dart'), content: r'''
+class InvalidUseOfVisibleForTemplateMemberTest
+ extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+
+ var metaPath = '/packages/meta';
+ PackagesContent.addMetaPackageFiles(
+ getFolder(metaPath),
+ );
+
+ var angularMetaPath = '/packages/angular_meta';
+ newFile('$angularMetaPath/lib/angular_meta.dart', content: r'''
library angular.meta;
const _VisibleForTemplate visibleForTemplate = const _VisibleForTemplate();
@@ -30,76 +37,77 @@
const _VisibleForTemplate();
}
''');
+
+ writeTestPackageConfig({
+ 'meta': metaPath,
+ 'angular_meta': angularMetaPath,
+ });
}
test_export() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
int fn0() => 1;
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
export 'lib1.dart' show fn0;
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_functionInExtension() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
extension E on List {
@visibleForTemplate
int m() => 1;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
E([]).m();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 42, 1),
]);
}
test_functionInExtension_fromTemplate() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
extension E on List {
@visibleForTemplate
int m() => 1;
}
''');
- newFile('/lib1.template.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.template.dart', content: r'''
import 'lib1.dart';
void main() {
E([]).m();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib1.template.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib1.template.dart');
}
test_method() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
void a(){ }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
class B {
@@ -107,23 +115,21 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 53, 1),
]);
}
test_method_fromTemplate() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
void a(){ }
}
''');
- addAngularMetaPackage();
- newFile('/lib1.template.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.template.dart', content: r'''
import 'lib1.dart';
class B {
@@ -131,13 +137,12 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib1.template.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib1.template.dart');
}
test_namedConstructor() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
class A {
int _x;
@@ -146,7 +151,7 @@
A.forTemplate(this._x);
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
@@ -154,17 +159,16 @@
}
''');
- await _resolveFile('/lib1.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart', [
error(HintCode.UNUSED_FIELD, 65, 2),
]);
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 41, 13),
]);
}
test_propertyAccess() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
@@ -174,7 +178,7 @@
set b(_) => 7;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
@@ -183,17 +187,15 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 45, 1),
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 58, 1),
]);
}
test_protectedAndForTemplate_usedAsProtected() async {
- addAngularMetaPackage();
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
import 'package:meta/meta.dart';
class A {
@@ -202,21 +204,19 @@
void a(){ }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
class B extends A {
void b() => new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart');
}
test_protectedAndForTemplate_usedAsTemplate() async {
- addAngularMetaPackage();
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
import 'package:meta/meta.dart';
class A {
@@ -225,28 +225,25 @@
void a(){ }
}
''');
- addAngularMetaPackage();
- addMetaPackage();
- newFile('/lib1.template.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.template.dart', content: r'''
import 'lib1.dart';
void main() {
new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib1.template.dart');
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib1.template.dart');
}
test_topLevelFunction() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
int fn0() => 1;
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
@@ -254,15 +251,14 @@
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart');
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 37, 3),
]);
}
test_unnamedConstructor() async {
- addAngularMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
import 'package:angular_meta/angular_meta.dart';
class A {
int _x;
@@ -271,7 +267,7 @@
A(this._x);
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
@@ -279,10 +275,10 @@
}
''');
- await _resolveFile('/lib1.dart', [
+ await _resolveFile('$testPackageLibPath/lib1.dart', [
error(HintCode.UNUSED_FIELD, 65, 2),
]);
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageLibPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TEMPLATE_MEMBER, 41, 1),
]);
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
index ba4d62f..80c9b7b 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
@@ -3,11 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,152 +15,152 @@
}
@reflectiveTest
-class InvalidUseOfVisibleForTestingMemberTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidUseOfVisibleForTestingMemberTest extends PubPackageResolutionTest {
+ @override
+ String get testPackageRootPath => '/home/my';
+
+ @override
+ void setUp() {
+ super.setUp();
+ writeTestPackageConfigWithMeta();
+ }
+
test_export() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
@visibleForTesting
int fn0() => 1;
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
export 'lib1.dart' show fn0;
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart');
}
test_fromTestDirectory() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('/test/test.dart', content: r'''
+ newFile('$testPackageRootPath/test/test.dart', content: r'''
import '../lib1.dart';
class B {
void b() => new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/test/test.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/test/test.dart');
}
test_fromTestingDirectory() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('/testing/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/testing/lib1.dart', content: r'''
import '../lib1.dart';
class C {
void b() => new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/testing/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/testing/lib1.dart');
}
test_functionInExtension() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
extension E on List {
@visibleForTesting
int m() => 1;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
E([]).m();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 42, 1),
]);
}
test_functionInExtension_fromTestDirectory() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
extension E on List {
@visibleForTesting
int m() => 1;
}
''');
- newFile('/test/test.dart', content: r'''
+ newFile('$testPackageRootPath/test/test.dart', content: r'''
import '../lib1.dart';
void main() {
E([]).m();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/test/test.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/test/test.dart');
}
test_getter() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
int get a => 7;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
new A().a;
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 44, 1),
]);
}
test_method() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
class B {
void b() => new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 52, 1),
]);
}
test_mixin() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
mixin M {
@visibleForTesting
@@ -169,22 +168,21 @@
}
class C with M {}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
C().m();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 40, 1),
]);
}
test_namedConstructor() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
int _x;
@@ -193,25 +191,24 @@
A.forTesting(this._x);
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
new A.forTesting(0);
}
''');
- await _resolveFile('/lib1.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart', [
error(HintCode.UNUSED_FIELD, 49, 2),
]);
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 40, 12,
messageContains: 'A.forTesting'),
]);
}
test_protectedAndForTesting_usedAsProtected() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
@@ -219,20 +216,19 @@
void a(){ }
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
class B extends A {
void b() => new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart');
}
test_protectedAndForTesting_usedAsTesting() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@protected
@@ -240,63 +236,59 @@
void a(){ }
}
''');
- addMetaPackage();
- newFile('/test/test1.dart', content: r'''
+ newFile('$testPackageRootPath/test/test1.dart', content: r'''
import '../lib1.dart';
void main() {
new A().a();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/test/test1.dart');
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/test/test1.dart');
}
test_setter() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
set b(_) => 7;
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
new A().b = 6;
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 44, 1),
]);
}
test_topLevelFunction() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
@visibleForTesting
int fn0() => 1;
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
fn0();
}
''');
- await _resolveFile('/lib1.dart');
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart');
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 36, 3),
]);
}
test_unnamedConstructor() async {
- addMetaPackage();
- newFile('/lib1.dart', content: r'''
+ newFile('$testPackageRootPath/lib1.dart', content: r'''
import 'package:meta/meta.dart';
class A {
int _x;
@@ -305,17 +297,17 @@
A(this._x);
}
''');
- newFile('/lib2.dart', content: r'''
+ newFile('$testPackageRootPath/lib2.dart', content: r'''
import 'lib1.dart';
void main() {
new A(0);
}
''');
- await _resolveFile('/lib1.dart', [
+ await _resolveFile('$testPackageRootPath/lib1.dart', [
error(HintCode.UNUSED_FIELD, 49, 2),
]);
- await _resolveFile('/lib2.dart', [
+ await _resolveFile('$testPackageRootPath/lib2.dart', [
error(HintCode.INVALID_USE_OF_VISIBLE_FOR_TESTING_MEMBER, 40, 1),
]);
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_visibility_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_visibility_annotation_test.dart
index 24aa6a1..4a42fcd 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_visibility_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_visibility_annotation_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class InvalidVisibilityAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class InvalidVisibilityAnnotationTest extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_fields_multipleMixed() async {
diff --git a/pkg/analyzer/test/src/diagnostics/invocation_of_extension_without_call_test.dart b/pkg/analyzer/test/src/diagnostics/invocation_of_extension_without_call_test.dart
index 21e2e99..780de76 100644
--- a/pkg/analyzer/test/src/diagnostics/invocation_of_extension_without_call_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invocation_of_extension_without_call_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvocationOfExtensionWithoutCallTest extends DriverResolutionTest {
+class InvocationOfExtensionWithoutCallTest extends PubPackageResolutionTest {
test_instance_differentKind() async {
await assertErrorsInCode('''
extension E on Object {}
diff --git a/pkg/analyzer/test/src/diagnostics/invocation_of_non_function_expression_test.dart b/pkg/analyzer/test/src/diagnostics/invocation_of_non_function_expression_test.dart
index 9435340..1a329c0 100644
--- a/pkg/analyzer/test/src/diagnostics/invocation_of_non_function_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invocation_of_non_function_expression_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class InvocationOfNonFunctionExpressionTest extends DriverResolutionTest {
+class InvocationOfNonFunctionExpressionTest extends PubPackageResolutionTest {
test_invocationOfNonFunctionExpression_literal() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/label_in_outer_scope_test.dart b/pkg/analyzer/test/src/diagnostics/label_in_outer_scope_test.dart
index 851ddf0..7fa6830 100644
--- a/pkg/analyzer/test/src/diagnostics/label_in_outer_scope_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/label_in_outer_scope_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class LabelInOuterScopeTest extends DriverResolutionTest {
+class LabelInOuterScopeTest extends PubPackageResolutionTest {
test_label_in_outer_scope() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/label_undefined_test.dart b/pkg/analyzer/test/src/diagnostics/label_undefined_test.dart
index 366d06d..7918d11 100644
--- a/pkg/analyzer/test/src/diagnostics/label_undefined_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/label_undefined_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class LabelUndefinedTest extends DriverResolutionTest {
+class LabelUndefinedTest extends PubPackageResolutionTest {
test_break() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
index 00da73f..868c233 100644
--- a/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/late_final_field_with_const_constructor_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class LateFinalFieldWithConstConstructorTest extends DriverResolutionTest
+class LateFinalFieldWithConstConstructorTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
static const _errorCode =
CompileTimeErrorCode.LATE_FINAL_FIELD_WITH_CONST_CONSTRUCTOR;
diff --git a/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart b/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
index 2e4f1d4..0bc97d0 100644
--- a/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/late_final_local_already_assigned_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class LateFinalLocalAlreadyAssignedTest extends DriverResolutionTest
+class LateFinalLocalAlreadyAssignedTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_assignmentExpression_compound() async {
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/list_element_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/list_element_type_not_assignable_test.dart
index f0d3fbe..9f57784 100644
--- a/pkg/analyzer/test/src/diagnostics/list_element_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/list_element_type_not_assignable_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class ListElementTypeNotAssignableTest extends DriverResolutionTest {
+class ListElementTypeNotAssignableTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_intInt() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart b/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
index 3a1725e..9300295 100644
--- a/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MapEntryNotInMapTest extends DriverResolutionTest {
+class MapEntryNotInMapTest extends PubPackageResolutionTest {
test_set() async {
await assertErrorsInCode('''
var c = <int>{1:2};
diff --git a/pkg/analyzer/test/src/diagnostics/map_key_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/map_key_type_not_assignable_test.dart
index 95815bb..3281891 100644
--- a/pkg/analyzer/test/src/diagnostics/map_key_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/map_key_type_not_assignable_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class MapKeyTypeNotAssignableTest extends DriverResolutionTest {
+class MapKeyTypeNotAssignableTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_intInt_dynamic() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/map_value_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/map_value_type_not_assignable_test.dart
index 37911a8..794cc75 100644
--- a/pkg/analyzer/test/src/diagnostics/map_value_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/map_value_type_not_assignable_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class MapValueTypeNotAssignableTest extends DriverResolutionTest {
+class MapValueTypeNotAssignableTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_intInt_dynamic() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/member_with_class_name_test.dart b/pkg/analyzer/test/src/diagnostics/member_with_class_name_test.dart
index 3558cc0..6590bfd 100644
--- a/pkg/analyzer/test/src/diagnostics/member_with_class_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/member_with_class_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MemberWithClassNameTest extends DriverResolutionTest {
+class MemberWithClassNameTest extends PubPackageResolutionTest {
test_field() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/mismatched_annotation_on_struct_field_test.dart b/pkg/analyzer/test/src/diagnostics/mismatched_annotation_on_struct_field_test.dart
index 1e5a88a..b404bde 100644
--- a/pkg/analyzer/test/src/diagnostics/mismatched_annotation_on_struct_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mismatched_annotation_on_struct_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MismatchedAnnotationOnStructFieldTest extends DriverResolutionTest {
+class MismatchedAnnotationOnStructFieldTest extends PubPackageResolutionTest {
test_double_on_int() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/missing_annotation_on_struct_field_test.dart b/pkg/analyzer/test/src/diagnostics/missing_annotation_on_struct_field_test.dart
index 0e7fdde..1a5a83c 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_annotation_on_struct_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_annotation_on_struct_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MissingAnnotationOnStructFieldTest extends DriverResolutionTest {
+class MissingAnnotationOnStructFieldTest extends PubPackageResolutionTest {
test_missing_int() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
index 664ef40..dec4111 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_default_value_for_parameter_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class MissingDefaultValueForParameterTest extends DriverResolutionTest
+class MissingDefaultValueForParameterTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_constructor_externalFactory_nonNullable_named_optional_noDefault() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/missing_enum_constant_in_switch_test.dart b/pkg/analyzer/test/src/diagnostics/missing_enum_constant_in_switch_test.dart
index 81af1c1..33df17a 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_enum_constant_in_switch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_enum_constant_in_switch_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class MissingEnumConstantInSwitchTest extends DriverResolutionTest {
+class MissingEnumConstantInSwitchTest extends PubPackageResolutionTest {
test_default() async {
await assertNoErrorsInCode('''
enum E { one, two, three }
diff --git a/pkg/analyzer/test/src/diagnostics/missing_exception_value_test.dart b/pkg/analyzer/test/src/diagnostics/missing_exception_value_test.dart
index cbc7895..30c949c 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_exception_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_exception_value_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MissingExceptionValueTest extends DriverResolutionTest {
+class MissingExceptionValueTest extends PubPackageResolutionTest {
test_missing() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/missing_field_type_in_struct_test.dart b/pkg/analyzer/test/src/diagnostics/missing_field_type_in_struct_test.dart
index 2955f38..cfae21f 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_field_type_in_struct_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_field_type_in_struct_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MissingFieldTypeInStructTest extends DriverResolutionTest {
+class MissingFieldTypeInStructTest extends PubPackageResolutionTest {
test_missing() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/missing_js_lib_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/missing_js_lib_annotation_test.dart
index 561c11b..551fbb3 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_js_lib_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_js_lib_annotation_test.dart
@@ -7,7 +7,7 @@
import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,10 +16,19 @@
}
@reflectiveTest
-class MissingJSLibAnnotationTest extends DriverResolutionTest
- with PackageMixin {
+class MissingJSLibAnnotationTest extends PubPackageResolutionTest {
+ @override
+ void setUp() {
+ super.setUp();
+
+ var path = '/packages/js';
+ PackagesContent.addJsPackageFiles(
+ getFolder(path),
+ );
+ writeTestPackageConfig({'js': path});
+ }
+
test_class() async {
- addJsPackage();
await assertErrorsInCode('''
library foo;
@@ -34,7 +43,6 @@
test_externalField() async {
// https://github.com/dart-lang/sdk/issues/26987
- addJsPackage();
await assertErrorsInCode('''
import 'package:js/js.dart';
@@ -47,7 +55,6 @@
}
test_function() async {
- addJsPackage();
await assertErrorsInCode('''
library foo;
@@ -62,7 +69,6 @@
}
test_method() async {
- addJsPackage();
await assertErrorsInCode('''
library foo;
@@ -78,7 +84,6 @@
}
test_notMissing() async {
- addJsPackage();
await assertNoErrorsInCode('''
@JS()
library foo;
@@ -91,7 +96,6 @@
}
test_variable() async {
- addJsPackage();
await assertErrorsInCode('''
import 'package:js/js.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
index c040a2f..7c3510e 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
@@ -3,12 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,11 +16,11 @@
}
@reflectiveTest
-class MissingRequiredParamTest extends DriverResolutionTest with PackageMixin {
+class MissingRequiredParamTest extends PubPackageResolutionTest {
@override
- setUp() {
+ void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_constructor_argumentGiven() async {
@@ -190,23 +188,22 @@
}
test_method_inOtherLib() async {
- newFile('/a_lib.dart', content: r'''
-library a_lib;
+ newFile('$testPackageLibPath/a.dart', content: r'''
import 'package:meta/meta.dart';
class A {
void m({@Required('must specify an `a`') int a}) {}
}
''');
- newFile('/test.dart', content: r'''
-import "a_lib.dart";
+ newFile('$testPackageLibPath/test.dart', content: r'''
+import 'a.dart';
f() {
new A().m();
}
''');
- await _resolveFile('/a_lib.dart');
- await _resolveFile('/test.dart', [
- error(HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS, 37, 1),
+ await _resolveFile('$testPackageLibPath/a.dart');
+ await _resolveFile('$testPackageLibPath/test.dart', [
+ error(HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS, 33, 1),
]);
}
@@ -245,7 +242,7 @@
}
@reflectiveTest
-class MissingRequiredParamWithNullSafetyTest extends DriverResolutionTest
+class MissingRequiredParamWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_constructor_argumentGiven() async {
await assertNoErrorsInCode(r'''
@@ -346,7 +343,7 @@
}
test_method_inOtherLib() async {
- newFile('/test/lib/a_lib.dart', content: r'''
+ newFile('$testPackageLibPath/a_lib.dart', content: r'''
class A {
void m({required int a}) {}
}
@@ -362,7 +359,7 @@
}
test_method_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void foo({required int a}) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
index 353bef4..4d9fec5 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
@@ -3,11 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,9 +15,9 @@
}
@reflectiveTest
-class MissingReturnTest extends DriverResolutionTest with PackageMixin {
+class MissingReturnTest extends PubPackageResolutionTest {
test_alwaysThrows() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@@ -217,10 +215,10 @@
}
@reflectiveTest
-class MissingReturnWithNullSafetyTest extends DriverResolutionTest
+class MissingReturnWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_returnNever() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
Never foo() {
throw 0;
}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_application_not_implemented_interface_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_application_not_implemented_interface_test.dart
index 4e8f9a4..13fcb26 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_application_not_implemented_interface_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_application_not_implemented_interface_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class MixinApplicationNotImplementedInterfaceTest extends DriverResolutionTest {
+class MixinApplicationNotImplementedInterfaceTest
+ extends PubPackageResolutionTest {
test_matchingClass_inPreviousMixin_new_syntax() async {
await assertNoErrorsInCode('''
abstract class A<T> {}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_class_declares_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_class_declares_constructor_test.dart
index 11017b8..baece03 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_class_declares_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_class_declares_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MixinClassDeclaresConstructorTest extends DriverResolutionTest {
+class MixinClassDeclaresConstructorTest extends PubPackageResolutionTest {
test_classDeclaration() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_declares_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_declares_constructor_test.dart
index 51f315e..e171fde 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_declares_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_declares_constructor_test.dart
@@ -7,7 +7,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +16,7 @@
}
@reflectiveTest
-class MixinDeclaresConstructorTest extends DriverResolutionTest {
+class MixinDeclaresConstructorTest extends PubPackageResolutionTest {
test_fieldFormalParameter() async {
await assertErrorsInCode(r'''
mixin M {
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
index b37129a..a9bccb9 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class MixinDeferredClassTest extends DriverResolutionTest {
+class MixinDeferredClassTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
@@ -31,7 +31,7 @@
}
test_mixin_deferred_class() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_inherits_from_not_object_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_inherits_from_not_object_test.dart
index 3ca2493..7bcbe74 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_inherits_from_not_object_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_inherits_from_not_object_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MixinInheritsFromNotObjectTest extends DriverResolutionTest {
+class MixinInheritsFromNotObjectTest extends PubPackageResolutionTest {
test_classDeclaration_extends() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_of_disallowed_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_of_disallowed_class_test.dart
index b22ce50..b72300b 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_of_disallowed_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_of_disallowed_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MixinOfDisallowedClassTest extends DriverResolutionTest {
+class MixinOfDisallowedClassTest extends PubPackageResolutionTest {
test_class_bool() async {
await assertErrorsInCode('''
class A extends Object with bool {}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
index bb19212..df4c58b 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class MixinOfNonClassTest extends DriverResolutionTest {
+class MixinOfNonClassTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
int A = 7;
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_super_class_constraint_non_interface_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_super_class_constraint_non_interface_test.dart
index cb8bc73..cec22cb 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_super_class_constraint_non_interface_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_super_class_constraint_non_interface_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,8 @@
}
@reflectiveTest
-class MixinSuperClassConstraintNonInterfaceTest extends DriverResolutionTest {}
+class MixinSuperClassConstraintNonInterfaceTest
+ extends PubPackageResolutionTest {}
@reflectiveTest
class MixinSuperClassConstraintNonInterfaceWithNullSafetyTest
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_with_non_class_superclass_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_with_non_class_superclass_test.dart
index aa6a3af..ea23d2e 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_with_non_class_superclass_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_with_non_class_superclass_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MixinWithNonClassSuperclassTest extends DriverResolutionTest {
+class MixinWithNonClassSuperclassTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
int A;
diff --git a/pkg/analyzer/test/src/diagnostics/mixins_super_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixins_super_class_test.dart
index 88807fb..b7b7ff6 100644
--- a/pkg/analyzer/test/src/diagnostics/mixins_super_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixins_super_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MixinsSuperClassTest extends DriverResolutionTest {
+class MixinsSuperClassTest extends PubPackageResolutionTest {
test_class() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/multiple_redirecting_constructor_invocations_test.dart b/pkg/analyzer/test/src/diagnostics/multiple_redirecting_constructor_invocations_test.dart
index fbe553e..293caf5 100644
--- a/pkg/analyzer/test/src/diagnostics/multiple_redirecting_constructor_invocations_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/multiple_redirecting_constructor_invocations_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class MultipleRedirectingConstructorInvocationsTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_twoNamedConstructorInvocations() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/multiple_super_initializers_test.dart b/pkg/analyzer/test/src/diagnostics/multiple_super_initializers_test.dart
index 72669cd..dea4b59 100644
--- a/pkg/analyzer/test/src/diagnostics/multiple_super_initializers_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/multiple_super_initializers_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MultipleSuperInitializersTest extends DriverResolutionTest {
+class MultipleSuperInitializersTest extends PubPackageResolutionTest {
test_twoSuperInitializers() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/must_be_a_native_function_type_test.dart b/pkg/analyzer/test/src/diagnostics/must_be_a_native_function_type_test.dart
index 6c1287c..8c6ecc1 100644
--- a/pkg/analyzer/test/src/diagnostics/must_be_a_native_function_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/must_be_a_native_function_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MustBeANativeFunctionTypeTest extends DriverResolutionTest {
+class MustBeANativeFunctionTypeTest extends PubPackageResolutionTest {
test_fromFunction() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/must_be_a_subtype_test.dart b/pkg/analyzer/test/src/diagnostics/must_be_a_subtype_test.dart
index 244a8c6..551c7ec 100644
--- a/pkg/analyzer/test/src/diagnostics/must_be_a_subtype_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/must_be_a_subtype_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class MustBeASubtypeTest extends DriverResolutionTest {
+class MustBeASubtypeTest extends PubPackageResolutionTest {
test_fromFunction_firstArgument() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/must_be_immutable_test.dart b/pkg/analyzer/test/src/diagnostics/must_be_immutable_test.dart
index ffb94a7a..4b0f2f1 100644
--- a/pkg/analyzer/test/src/diagnostics/must_be_immutable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/must_be_immutable_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,11 +14,11 @@
}
@reflectiveTest
-class MustBeImmutableTest extends DriverResolutionTest with PackageMixin {
+class MustBeImmutableTest extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_directAnnotation() async {
@@ -60,7 +59,6 @@
}
test_finalField() async {
- addMetaPackage();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@immutable
diff --git a/pkg/analyzer/test/src/diagnostics/must_call_super_test.dart b/pkg/analyzer/test/src/diagnostics/must_call_super_test.dart
index d93fced..7a58e23 100644
--- a/pkg/analyzer/test/src/diagnostics/must_call_super_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/must_call_super_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,11 +14,11 @@
}
@reflectiveTest
-class MustCallSuperTest extends DriverResolutionTest with PackageMixin {
+class MustCallSuperTest extends PubPackageResolutionTest {
@override
- setUp() {
+ void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_containsSuperCall() async {
diff --git a/pkg/analyzer/test/src/diagnostics/native_clause_in_non_sdk_code_test.dart b/pkg/analyzer/test/src/diagnostics/native_clause_in_non_sdk_code_test.dart
index 878ee80..48365a7 100644
--- a/pkg/analyzer/test/src/diagnostics/native_clause_in_non_sdk_code_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/native_clause_in_non_sdk_code_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NativeClauseInNonSdkCodeTest extends DriverResolutionTest {
+class NativeClauseInNonSdkCodeTest extends PubPackageResolutionTest {
test_nativeClauseInNonSDKCode() async {
await assertErrorsInCode('''
class A native 'string' {}
diff --git a/pkg/analyzer/test/src/diagnostics/native_function_body_in_non_sdk_code_test.dart b/pkg/analyzer/test/src/diagnostics/native_function_body_in_non_sdk_code_test.dart
index 186022e..189f963 100644
--- a/pkg/analyzer/test/src/diagnostics/native_function_body_in_non_sdk_code_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/native_function_body_in_non_sdk_code_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NativeFunctionBodyInNonSdkCodeTest extends DriverResolutionTest {
+class NativeFunctionBodyInNonSdkCodeTest extends PubPackageResolutionTest {
test_function() async {
await assertErrorsInCode('''
int m(a) native 'string';
diff --git a/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
index 52ea5df..5e3dce3 100644
--- a/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NewWithNonTypeTest extends DriverResolutionTest {
+class NewWithNonTypeTest extends PubPackageResolutionTest {
test_functionTypeAlias() async {
await assertErrorsInCode('''
typedef F = void Function();
@@ -28,7 +28,7 @@
}
test_imported() async {
- newFile("/test/lib/lib.dart", content: "class B {}");
+ newFile('$testPackageLibPath/lib.dart', content: "class B {}");
await assertErrorsInCode('''
import 'lib.dart' as lib;
void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
index 3f5f6ff..5e3e722 100644
--- a/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NewWithUndefinedConstructorTest extends DriverResolutionTest {
+class NewWithUndefinedConstructorTest extends PubPackageResolutionTest {
test_default() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/no_annotation_constructor_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/no_annotation_constructor_arguments_test.dart
index 8c6eebd..9a49f06 100644
--- a/pkg/analyzer/test/src/diagnostics/no_annotation_constructor_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_annotation_constructor_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NoAnnotationConstructorArgumentsTest extends DriverResolutionTest {
+class NoAnnotationConstructorArgumentsTest extends PubPackageResolutionTest {
test_missingArgumentList() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/no_combined_super_signature_test.dart b/pkg/analyzer/test/src/diagnostics/no_combined_super_signature_test.dart
index d93e2ef..218e88e 100644
--- a/pkg/analyzer/test/src/diagnostics/no_combined_super_signature_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_combined_super_signature_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NoCombinedSuperSignatureTest extends DriverResolutionTest {
+class NoCombinedSuperSignatureTest extends PubPackageResolutionTest {
test_conflictingParameter() async {
await assertErrorsInCode('''
abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
index 069da67..4995806 100644
--- a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NoDefaultSuperConstructorTest extends DriverResolutionTest {
+class NoDefaultSuperConstructorTest extends PubPackageResolutionTest {
test_explicitDefaultSuperConstructor() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/no_generative_constructors_in_superclass_test.dart b/pkg/analyzer/test/src/diagnostics/no_generative_constructors_in_superclass_test.dart
index 0ace42c..573f5aa 100644
--- a/pkg/analyzer/test/src/diagnostics/no_generative_constructors_in_superclass_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_generative_constructors_in_superclass_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class NoGenerativeConstructorsInSuperclassTest extends DriverResolutionTest {
+class NoGenerativeConstructorsInSuperclassTest
+ extends PubPackageResolutionTest {
test_explicit() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart b/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
index 62bd7b4..1394130 100644
--- a/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,8 @@
}
@reflectiveTest
-class NonAbstractClassInheritsAbstractMemberTest extends DriverResolutionTest {
+class NonAbstractClassInheritsAbstractMemberTest
+ extends PubPackageResolutionTest {
test_abstractsDontOverrideConcretes_getter() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
index da24c7b..f7aa310 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_condition_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class NonBoolConditionTest extends DriverResolutionTest {
+class NonBoolConditionTest extends PubPackageResolutionTest {
test_conditional() async {
await assertErrorsInCode('''
f() { return 3 ? 2 : 1; }
@@ -108,7 +107,7 @@
}
@reflectiveTest
-class NonBoolConditionWithNullSafetyTest extends DriverResolutionTest
+class NonBoolConditionWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_if_null() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_expression_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_expression_test.dart
index 61535c7..0a12cfb 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_expression_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonBoolExpressionTest extends DriverResolutionTest {
+class NonBoolExpressionTest extends PubPackageResolutionTest {
test_functionType_bool() async {
await assertErrorsInCode(r'''
bool makeAssertion() => true;
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
index f0c4ff3..1fdb4eb 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_negation_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class NonBoolNegationExpressionTest extends DriverResolutionTest {
+class NonBoolNegationExpressionTest extends PubPackageResolutionTest {
test_nonBool() async {
await assertErrorsInCode(r'''
f() {
@@ -29,8 +28,8 @@
}
@reflectiveTest
-class NonBoolNegationExpressionWithNullSafetyTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class NonBoolNegationExpressionWithNullSafetyTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_null() async {
await assertErrorsInCode(r'''
m() {
diff --git a/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart b/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
index f3496ef..456e55c 100644
--- a/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_bool_operand_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class NonBoolOperandTest extends DriverResolutionTest {
+class NonBoolOperandTest extends PubPackageResolutionTest {
test_and_left() async {
await assertErrorsInCode(r'''
bool f(int left, bool right) {
@@ -59,7 +58,7 @@
}
@reflectiveTest
-class NonBoolOperandWithNullSafetyTest extends DriverResolutionTest
+class NonBoolOperandWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_and_null() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/non_const_call_to_literal_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/non_const_call_to_literal_constructor_test.dart
index 35ecf41..67aac2c 100644
--- a/pkg/analyzer/test/src/diagnostics/non_const_call_to_literal_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_const_call_to_literal_constructor_test.dart
@@ -3,10 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,12 +14,11 @@
}
@reflectiveTest
-class NonConstCallToLiteralConstructorTest extends DriverResolutionTest
- with PackageMixin {
+class NonConstCallToLiteralConstructorTest extends PubPackageResolutionTest {
@override
void setUp() {
super.setUp();
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
}
test_constConstructor() async {
diff --git a/pkg/analyzer/test/src/diagnostics/non_const_map_as_expression_statement_test.dart b/pkg/analyzer/test/src/diagnostics/non_const_map_as_expression_statement_test.dart
index 216836c..50a4b24 100644
--- a/pkg/analyzer/test/src/diagnostics/non_const_map_as_expression_statement_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_const_map_as_expression_statement_test.dart
@@ -6,7 +6,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class NonConstMapAsExpressionStatementTest extends DriverResolutionTest {
+class NonConstMapAsExpressionStatementTest extends PubPackageResolutionTest {
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/42850')
test_beginningOfExpressiontatement() async {
// TODO(srawlins) Fasta is not recovering well.
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_annotation_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_annotation_constructor_test.dart
index 74caf13..89f983a 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_annotation_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_annotation_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonConstantAnnotationConstructorTest extends DriverResolutionTest {
+class NonConstantAnnotationConstructorTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
index f0de552..9c6dd7a 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,9 +15,9 @@
@reflectiveTest
class NonConstantCaseExpressionFromDeferredLibraryTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_nested() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
const int c = 0;
''');
@@ -40,7 +40,7 @@
}
test_simple() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
const int c = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_test.dart
index e37e3ea..0140b9e 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class NonConstantCaseExpressionTest extends DriverResolutionTest {
+class NonConstantCaseExpressionTest extends PubPackageResolutionTest {
test_constField() async {
await assertNoErrorsInCode(r'''
void f(C e) {
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
index fa1d97b..bde3524 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,9 +15,9 @@
@reflectiveTest
class NonConstantDefaultValueFromDeferredLibraryTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_deferred() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const V = 1;
''');
@@ -34,7 +34,7 @@
}
test_nested() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
const V = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
index 6e01fe5..eb206cb 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
@@ -6,7 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class NonConstantDefaultValueTest extends DriverResolutionTest {
+class NonConstantDefaultValueTest extends PubPackageResolutionTest {
test_appliedTypeParameter_defaultConstructorValue() async {
await assertErrorsInCode(r'''
void f<T>(T t) => t;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
index 30ab020..6f0d2d7 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -20,11 +20,11 @@
@reflectiveTest
class NonConstantListElementFromDeferredLibraryTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
@failingTest
test_const_ifElement_thenTrue_deferredElse() async {
// reports wrong error code (which is not crucial to fix)
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -39,7 +39,7 @@
}
test_const_ifElement_thenTrue_deferredThen() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(
r'''
@@ -61,7 +61,7 @@
}
test_const_topLevel_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -75,7 +75,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_test.dart
index ac5b6917..fd0772b 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class NonConstantListElementTest extends DriverResolutionTest {
+class NonConstantListElementTest extends PubPackageResolutionTest {
test_const_forElement() async {
await assertErrorsInCode(r'''
const Set set = {};
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_element_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_element_test.dart
index b1c9035..ec30b00 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_element_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -20,7 +20,7 @@
}
@reflectiveTest
-class NonConstantMapElementTest extends DriverResolutionTest {
+class NonConstantMapElementTest extends PubPackageResolutionTest {
test_forElement_cannotBeConst() async {
await assertErrorsInCode('''
void main() {
@@ -161,7 +161,7 @@
}
@reflectiveTest
-class NonConstantMapKeyTest extends DriverResolutionTest {
+class NonConstantMapKeyTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_finalElse() async {
await assertErrorsInCode(
'''
@@ -296,7 +296,7 @@
}
@reflectiveTest
-class NonConstantMapValueTest extends DriverResolutionTest {
+class NonConstantMapValueTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_finalElse() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
index 4af3532..25504a3 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,11 +19,12 @@
}
@reflectiveTest
-class NonConstantMapKeyFromDeferredLibraryTest extends DriverResolutionTest {
+class NonConstantMapKeyFromDeferredLibraryTest
+ extends PubPackageResolutionTest {
@failingTest
test_const_ifElement_thenTrue_deferredElse() async {
// reports wrong error code
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -36,7 +37,7 @@
}
test_const_ifElement_thenTrue_deferredThen() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(
r'''
@@ -58,7 +59,7 @@
}
test_const_topLevel_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -70,7 +71,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_test.dart
index a660179..d884a44 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class NonConstantMapKeyTest extends DriverResolutionTest {
+class NonConstantMapKeyTest extends PubPackageResolutionTest {
test_const_ifElement_thenTrue_elseFinal() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
index 52559de..6ce36a1 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,11 +19,12 @@
}
@reflectiveTest
-class NonConstantMapValueFromDeferredLibraryTest extends DriverResolutionTest {
+class NonConstantMapValueFromDeferredLibraryTest
+ extends PubPackageResolutionTest {
@failingTest
test_const_ifElement_thenTrue_elseDeferred() async {
// reports wrong error code
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -36,7 +37,7 @@
}
test_const_ifElement_thenTrue_thenDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(
r'''
@@ -58,7 +59,7 @@
}
test_const_topLevel_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -70,7 +71,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_test.dart
index b22f1a0..edbe740 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class NonConstantMapValueTest extends DriverResolutionTest {
+class NonConstantMapValueTest extends PubPackageResolutionTest {
test_const_ifTrue_elseFinal() async {
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_set_element_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_set_element_test.dart
index 2b69d39..1f92b3d 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_set_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_set_element_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class NonConstantSetElementTest extends DriverResolutionTest {
+class NonConstantSetElementTest extends PubPackageResolutionTest {
test_const_forElement() async {
await assertErrorsInCode(r'''
const Set set = {};
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_type_argument_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_type_argument_test.dart
index 5754334..eee33d4 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_type_argument_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_type_argument_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/ffi_code.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonConstantTypeArgumentTest extends DriverResolutionTest {
+class NonConstantTypeArgumentTest extends PubPackageResolutionTest {
test_asFunction_R() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/non_generative_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/non_generative_constructor_test.dart
index 4879b59..533e750 100644
--- a/pkg/analyzer/test/src/diagnostics/non_generative_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_generative_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonGenerativeConstructorTest extends DriverResolutionTest {
+class NonGenerativeConstructorTest extends PubPackageResolutionTest {
test_explicit() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_generative_implicit_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/non_generative_implicit_constructor_test.dart
index 452a436..e2d7d41 100644
--- a/pkg/analyzer/test/src/diagnostics/non_generative_implicit_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_generative_implicit_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonGenerativeImplicitConstructorTest extends DriverResolutionTest {
+class NonGenerativeImplicitConstructorTest extends PubPackageResolutionTest {
test_implicit() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_native_function_type_argument_to_pointer_test.dart b/pkg/analyzer/test/src/diagnostics/non_native_function_type_argument_to_pointer_test.dart
index 0ec59d1..323c81b 100644
--- a/pkg/analyzer/test/src/diagnostics/non_native_function_type_argument_to_pointer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_native_function_type_argument_to_pointer_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,8 @@
}
@reflectiveTest
-class NonNativeFunctionTypeArgumentToPointerTest extends DriverResolutionTest {
+class NonNativeFunctionTypeArgumentToPointerTest
+ extends PubPackageResolutionTest {
test_asFunction_1() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
index 3c0f17e..856103c 100644
--- a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
@@ -11,8 +11,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -21,13 +20,14 @@
}
@reflectiveTest
-class NonNullOptOutTest extends DriverResolutionTest with WithNullSafetyMixin {
+class NonNullOptOutTest extends PubPackageResolutionTest
+ with WithNullSafetyMixin {
ImportFindElement get _import_a {
return findElement.importFind('package:test/a.dart');
}
test_assignment_indexExpression() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void operator[]=(int a, int b) {}
}
@@ -51,7 +51,7 @@
}
test_assignment_prefixedIdentifier_instanceTarget_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -78,7 +78,7 @@
}
test_assignment_prefixedIdentifier_instanceTarget_extension_setter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
void set foo(int _) {}
@@ -106,7 +106,7 @@
}
test_assignment_prefixedIdentifier_staticTarget_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static int foo = 0;
}
@@ -133,7 +133,7 @@
}
test_assignment_prefixedIdentifier_staticTarget_extension_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {
static int foo = 0;
}
@@ -160,7 +160,7 @@
}
test_assignment_prefixedIdentifier_topLevelVariable() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -182,7 +182,7 @@
}
test_assignment_propertyAccess_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -206,7 +206,7 @@
}
test_assignment_propertyAccess_extension_setter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
void set foo(int a) {}
@@ -231,7 +231,7 @@
}
test_assignment_propertyAccess_extensionOverride_setter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
void set foo(int a) {}
@@ -256,7 +256,7 @@
}
test_assignment_propertyAccess_superTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -282,7 +282,7 @@
}
test_assignment_simpleIdentifier_topLevelVariable() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -304,7 +304,7 @@
}
test_binaryExpression() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int operator+(int a) => 0;
}
@@ -326,7 +326,7 @@
}
test_functionExpressionInvocation() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int Function(int, int?)? foo;
''');
await assertNoErrorsInCode(r'''
@@ -349,7 +349,7 @@
}
test_functionExpressionInvocation_call() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int call(int a, int? b) => 0;
}
@@ -374,7 +374,7 @@
}
test_functionExpressionInvocation_extension_staticTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {
static int Function(int) get foo => (_) => 0;
}
@@ -399,7 +399,7 @@
}
test_instanceCreation() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
A(int a, int? b);
}
@@ -422,7 +422,7 @@
}
test_instanceCreation_generic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T> {
A(T a, T? b);
}
@@ -446,7 +446,7 @@
}
test_instanceCreation_generic_instantiateToBounds() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<T extends num> {}
''');
await assertNoErrorsInCode(r'''
@@ -461,7 +461,7 @@
}
test_methodInvocation_extension_functionTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on void Function() {
int foo(int a) => 0;
}
@@ -486,7 +486,7 @@
}
test_methodInvocation_extension_interfaceTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {
int foo(int a) => 0;
}
@@ -511,7 +511,7 @@
}
test_methodInvocation_extension_nullTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
int foo(int a) => 0;
@@ -539,7 +539,7 @@
}
test_methodInvocation_extension_staticTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {
static int foo(int a) => 0;
}
@@ -564,7 +564,7 @@
}
test_methodInvocation_extensionOverride() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E on int {
int foo(int a) => 0;
}
@@ -589,7 +589,7 @@
}
test_methodInvocation_function() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo(int a, int? b) => 0;
''');
await assertNoErrorsInCode(r'''
@@ -612,7 +612,7 @@
}
test_methodInvocation_function_prefixed() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo(int a, int? b) => 0;
''');
await assertNoErrorsInCode(r'''
@@ -635,7 +635,7 @@
}
test_methodInvocation_method_cascade() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -660,7 +660,7 @@
}
test_methodInvocation_method_interfaceTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -685,7 +685,7 @@
}
test_methodInvocation_method_nullTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -712,7 +712,7 @@
}
test_methodInvocation_method_staticTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static int foo(int a, int? b) => 0;
}
@@ -737,7 +737,7 @@
}
test_methodInvocation_method_superTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -791,7 +791,7 @@
}
test_postfixExpression() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
A operator+(int a) => this;
}
@@ -812,7 +812,7 @@
}
test_prefixExpression() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int operator-() => 0;
}
@@ -833,7 +833,7 @@
}
test_read_indexExpression_class() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int operator[](int a) => 0;
}
@@ -854,7 +854,7 @@
}
test_read_prefixedIdentifier_instanceTarget_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo;
}
@@ -878,7 +878,7 @@
}
test_read_prefixedIdentifier_instanceTarget_extension_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
int get foo => 0;
@@ -903,7 +903,7 @@
}
test_read_prefixedIdentifier_staticTarget_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static int foo;
}
@@ -927,7 +927,7 @@
}
test_read_prefixedIdentifier_staticTarget_class_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static int foo(int a) => 0;
}
@@ -951,7 +951,7 @@
}
test_read_prefixedIdentifier_staticTarget_extension_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E {
static int foo;
}
@@ -975,7 +975,7 @@
}
test_read_prefixedIdentifier_staticTarget_extension_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
extension E {
static int foo(int a) => 0;
}
@@ -999,7 +999,7 @@
}
test_read_prefixedIdentifier_topLevelVariable() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -1021,7 +1021,7 @@
}
test_read_propertyAccessor_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -1045,7 +1045,7 @@
}
test_read_propertyAccessor_class_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo() => 0;
}
@@ -1069,7 +1069,7 @@
}
test_read_propertyAccessor_extensionOverride_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
int get foo => 0;
@@ -1094,7 +1094,7 @@
}
test_read_propertyAccessor_superTarget() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -1120,7 +1120,7 @@
}
test_read_simpleIdentifier_class_field() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo = 0;
}
@@ -1143,7 +1143,7 @@
}
test_read_simpleIdentifier_class_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int foo(int a) => 0;
}
@@ -1166,7 +1166,7 @@
}
test_read_simpleIdentifier_extension_getter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
int get foo => 0;
@@ -1190,7 +1190,7 @@
}
test_read_simpleIdentifier_extension_method() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {}
extension E on A {
int foo(int a) => 0;
@@ -1214,7 +1214,7 @@
}
test_read_simpleIdentifier_topLevelVariable() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -1233,7 +1233,7 @@
}
test_superConstructorInvocation() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
A(int a, int? b);
}
diff --git a/pkg/analyzer/test/src/diagnostics/non_type_as_type_argument_test.dart b/pkg/analyzer/test/src/diagnostics/non_type_as_type_argument_test.dart
index cd93d58..2285127 100644
--- a/pkg/analyzer/test/src/diagnostics/non_type_as_type_argument_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_type_as_type_argument_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonTypeAsTypeArgumentTest extends DriverResolutionTest {
+class NonTypeAsTypeArgumentTest extends PubPackageResolutionTest {
test_notAType() async {
await assertErrorsInCode(r'''
int A;
diff --git a/pkg/analyzer/test/src/diagnostics/non_type_in_catch_clause_test.dart b/pkg/analyzer/test/src/diagnostics/non_type_in_catch_clause_test.dart
index 1ce275e..9e21e5a 100644
--- a/pkg/analyzer/test/src/diagnostics/non_type_in_catch_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_type_in_catch_clause_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonTypeInCatchClauseTest extends DriverResolutionTest {
+class NonTypeInCatchClauseTest extends PubPackageResolutionTest {
test_isClass() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/non_void_return_for_operator_test.dart b/pkg/analyzer/test/src/diagnostics/non_void_return_for_operator_test.dart
index b0d4dd0..1055ee0 100644
--- a/pkg/analyzer/test/src/diagnostics/non_void_return_for_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_void_return_for_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonVoidReturnForOperatorTest extends DriverResolutionTest {
+class NonVoidReturnForOperatorTest extends PubPackageResolutionTest {
test_indexSetter() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/non_void_return_for_setter_test.dart b/pkg/analyzer/test/src/diagnostics/non_void_return_for_setter_test.dart
index b35f65d..b01d127 100644
--- a/pkg/analyzer/test/src/diagnostics/non_void_return_for_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_void_return_for_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NonVoidReturnForSetterTest extends DriverResolutionTest {
+class NonVoidReturnForSetterTest extends PubPackageResolutionTest {
test_function() async {
await assertErrorsInCode('''
int set x(int v) {
diff --git a/pkg/analyzer/test/src/diagnostics/not_a_type_test.dart b/pkg/analyzer/test/src/diagnostics/not_a_type_test.dart
index c5280ab..c2adf0a 100644
--- a/pkg/analyzer/test/src/diagnostics/not_a_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_a_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NotATypeTest extends DriverResolutionTest {
+class NotATypeTest extends PubPackageResolutionTest {
test_class_constructor() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart b/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
index 78442d4..1caa9cc 100644
--- a/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_assigned_potentially_non_nullable_local_variable_test.dart
@@ -6,8 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -19,7 +18,7 @@
@reflectiveTest
class NotInitializedPotentiallyNonNullableLocalVariableTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_assignment_leftExpression() async {
await assertErrorsInCode(r'''
void f() {
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 4f2200d..b08bd58 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
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NotEnoughPositionalArgumentsTest extends DriverResolutionTest {
+class NotEnoughPositionalArgumentsTest extends PubPackageResolutionTest {
test_const() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
index c1c0a58..1b62195 100644
--- a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_instance_field_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,8 +14,8 @@
}
@reflectiveTest
-class NotInitializedNonNullableInstanceFieldTest extends DriverResolutionTest
- with WithNullSafetyMixin {
+class NotInitializedNonNullableInstanceFieldTest
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_class_factoryConstructor() async {
await assertNoErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
index 34a730b..d7d101e 100644
--- a/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_initialized_non_nullable_variable_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NotInitializedNonNullableVariableTest extends DriverResolutionTest
+class NotInitializedNonNullableVariableTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_staticField_futureOr_questionArgument_none() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/not_instantiated_bound_test.dart b/pkg/analyzer/test/src/diagnostics/not_instantiated_bound_test.dart
index 74d5464..969205a 100644
--- a/pkg/analyzer/test/src/diagnostics/not_instantiated_bound_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_instantiated_bound_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NotInstantiatedBoundTest extends DriverResolutionTest {
+class NotInstantiatedBoundTest extends PubPackageResolutionTest {
test_argument_notInstantiated() async {
await assertErrorsInCode(r'''
class A<K, V extends List<K>> {}
diff --git a/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart b/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
index bddd56a..4be6794 100644
--- a/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -29,7 +28,7 @@
}
@reflectiveTest
-class NotIterableSpreadTest extends DriverResolutionTest {
+class NotIterableSpreadTest extends PubPackageResolutionTest {
test_iterable_list() async {
await assertNoErrorsInCode('''
var a = [0];
diff --git a/pkg/analyzer/test/src/diagnostics/not_map_spread_test.dart b/pkg/analyzer/test/src/diagnostics/not_map_spread_test.dart
index be66c57..b95d6f8 100644
--- a/pkg/analyzer/test/src/diagnostics/not_map_spread_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_map_spread_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -29,7 +28,7 @@
}
@reflectiveTest
-class NotMapSpreadTest extends DriverResolutionTest {
+class NotMapSpreadTest extends PubPackageResolutionTest {
test_map() async {
await assertNoErrorsInCode('''
var a = {0: 0};
diff --git a/pkg/analyzer/test/src/diagnostics/not_null_aware_null_spread_test.dart b/pkg/analyzer/test/src/diagnostics/not_null_aware_null_spread_test.dart
index 115ffde..f521be8 100644
--- a/pkg/analyzer/test/src/diagnostics/not_null_aware_null_spread_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_null_aware_null_spread_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NotNullAwareNullSpreadTest extends DriverResolutionTest {
+class NotNullAwareNullSpreadTest extends PubPackageResolutionTest {
test_listLiteral_notNullAware_nullLiteral() async {
await assertErrorsInCode('''
var v = [...null];
diff --git a/pkg/analyzer/test/src/diagnostics/null_aware_before_operator_test.dart b/pkg/analyzer/test/src/diagnostics/null_aware_before_operator_test.dart
index 6b5be07..2fb8510 100644
--- a/pkg/analyzer/test/src/diagnostics/null_aware_before_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_aware_before_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NullAwareBeforeOperatorTest extends DriverResolutionTest {
+class NullAwareBeforeOperatorTest extends PubPackageResolutionTest {
test_assignment() async {
await assertNoErrorsInCode(r'''
m(x) {
diff --git a/pkg/analyzer/test/src/diagnostics/null_aware_in_condition_test.dart b/pkg/analyzer/test/src/diagnostics/null_aware_in_condition_test.dart
index c057732..94daa48 100644
--- a/pkg/analyzer/test/src/diagnostics/null_aware_in_condition_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_aware_in_condition_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NullAwareInConditionTest extends DriverResolutionTest {
+class NullAwareInConditionTest extends PubPackageResolutionTest {
test_assert() async {
await assertErrorsInCode(r'''
m(x) {
diff --git a/pkg/analyzer/test/src/diagnostics/null_aware_in_logical_operator_test.dart b/pkg/analyzer/test/src/diagnostics/null_aware_in_logical_operator_test.dart
index d445199..a64628b 100644
--- a/pkg/analyzer/test/src/diagnostics/null_aware_in_logical_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_aware_in_logical_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class NullAwareInLogicalOperatorTest extends DriverResolutionTest {
+class NullAwareInLogicalOperatorTest extends PubPackageResolutionTest {
test_conditionalAnd_first() async {
await assertErrorsInCode(r'''
m(x) {
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
index 2816817..bbd9363 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_catch_clause_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NullableTypeInCatchClauseTest extends DriverResolutionTest
+class NullableTypeInCatchClauseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_noOnClause() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_extends_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_extends_clause_test.dart
index 1a8847d..ccdffe5 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_extends_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_extends_clause_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NullableTypeInExtendsClauseTest extends DriverResolutionTest
+class NullableTypeInExtendsClauseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_class_nonNullable() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_implements_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_implements_clause_test.dart
index 7bcc751..9e9d5a8 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_implements_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_implements_clause_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NullableTypeInImplementsClauseTest extends DriverResolutionTest
+class NullableTypeInImplementsClauseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_class_nonNullable() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_on_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_on_clause_test.dart
index d4b131f..98a243c 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_on_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_on_clause_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NullableTypeInOnClauseTest extends DriverResolutionTest
+class NullableTypeInOnClauseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_nonNullable() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/nullable_type_in_with_clause_test.dart b/pkg/analyzer/test/src/diagnostics/nullable_type_in_with_clause_test.dart
index e560da2..ba235ef 100644
--- a/pkg/analyzer/test/src/diagnostics/nullable_type_in_with_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/nullable_type_in_with_clause_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class NullableTypeInWithClauseTest extends DriverResolutionTest
+class NullableTypeInWithClauseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_class_nonNullable() async {
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/object_cannot_extend_another_class_test.dart b/pkg/analyzer/test/src/diagnostics/object_cannot_extend_another_class_test.dart
index 66ca109..cb3965f 100644
--- a/pkg/analyzer/test/src/diagnostics/object_cannot_extend_another_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/object_cannot_extend_another_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ObjectCannotExtendAnotherClassTest extends DriverResolutionTest {
+class ObjectCannotExtendAnotherClassTest extends PubPackageResolutionTest {
@failingTest
test_object_extends_class() async {
// TODO(brianwilkerson): Implement this check.
diff --git a/pkg/analyzer/test/src/diagnostics/optional_parameter_in_operator_test.dart b/pkg/analyzer/test/src/diagnostics/optional_parameter_in_operator_test.dart
index f773af0..6f8dbb8 100644
--- a/pkg/analyzer/test/src/diagnostics/optional_parameter_in_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/optional_parameter_in_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OptionalParameterInOperatorTest extends DriverResolutionTest {
+class OptionalParameterInOperatorTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/override_equals_but_not_hashcode_test.dart b/pkg/analyzer/test/src/diagnostics/override_equals_but_not_hashcode_test.dart
index 7def0c4..6479ead 100644
--- a/pkg/analyzer/test/src/diagnostics/override_equals_but_not_hashcode_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/override_equals_but_not_hashcode_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OverrideEqualsButNotHashCodeTest extends DriverResolutionTest {
+class OverrideEqualsButNotHashCodeTest extends PubPackageResolutionTest {
test_overrideBoth() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_field_test.dart b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_field_test.dart
index cb18626..619cfb8 100644
--- a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OverrideOnNonOverridingFieldTest extends DriverResolutionTest {
+class OverrideOnNonOverridingFieldTest extends PubPackageResolutionTest {
test_inInterface() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_getter_test.dart b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_getter_test.dart
index 3a3345c..d07c28e 100644
--- a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_getter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OverrideOnNonOverridingGetterTest extends DriverResolutionTest {
+class OverrideOnNonOverridingGetterTest extends PubPackageResolutionTest {
test_inInterface() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_method_test.dart b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_method_test.dart
index 19a2cbd..3720caa 100644
--- a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OverrideOnNonOverridingMethodTest extends DriverResolutionTest {
+class OverrideOnNonOverridingMethodTest extends PubPackageResolutionTest {
test_inInterface() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_setter_test.dart b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_setter_test.dart
index 748aa24..b2f6683 100644
--- a/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/override_on_non_overriding_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class OverrideOnNonOverridingSetterTest extends DriverResolutionTest {
+class OverrideOnNonOverridingSetterTest extends PubPackageResolutionTest {
test_inInterface() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart b/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
index a40df04..e26ae88 100644
--- a/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PartOfDifferentLibraryTest extends DriverResolutionTest {
+class PartOfDifferentLibraryTest extends PubPackageResolutionTest {
test_name() async {
- newFile("/test/lib/part.dart", content: "part of lub;");
+ newFile('$testPackageLibPath/part.dart', content: "part of lub;");
await assertErrorsInCode('''
library lib;
part 'part.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart b/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
index 89ca7ed..a03e62c 100644
--- a/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PartOfNonPartTest extends DriverResolutionTest {
+class PartOfNonPartTest extends PubPackageResolutionTest {
test_part_of_non_part() async {
- newFile("/test/lib/l2.dart", content: '''
+ newFile('$testPackageLibPath/l2.dart', content: '''
library l2;
''');
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart b/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
index e00d0ab..0aecbd6 100644
--- a/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PrefixCollidesWithTopLevelMemberTest extends DriverResolutionTest {
+class PrefixCollidesWithTopLevelMemberTest extends PubPackageResolutionTest {
test_functionTypeAlias() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
class A{}
''');
@@ -30,7 +30,7 @@
}
test_no_collision() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
class A {}''');
await assertNoErrorsInCode(r'''
@@ -44,7 +44,7 @@
}
test_topLevelFunction() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
class A{}
''');
@@ -58,7 +58,7 @@
}
test_topLevelVariable() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
class A{}
''');
@@ -72,7 +72,7 @@
}
test_type() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
class A{}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart b/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
index 1f4c596..76faf80 100644
--- a/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PrefixIdentifierNotFollowedByDotTest extends DriverResolutionTest {
+class PrefixIdentifierNotFollowedByDotTest extends PubPackageResolutionTest {
test_assignment_compound_in_method() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -32,7 +32,7 @@
}
test_assignment_compound_not_in_method() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -46,7 +46,7 @@
}
test_assignment_in_method() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -62,7 +62,7 @@
}
test_assignment_not_in_method() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -76,7 +76,7 @@
}
test_compoundAssignment() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -90,7 +90,7 @@
}
test_conditionalMethodInvocation() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
g() {}
''');
@@ -105,7 +105,7 @@
}
test_conditionalPropertyAccess_call_loadLibrary() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -119,7 +119,7 @@
}
test_conditionalPropertyAccess_get() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
var x;
''');
@@ -134,7 +134,7 @@
}
test_conditionalPropertyAccess_get_loadLibrary() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -148,7 +148,7 @@
}
test_conditionalPropertyAccess_set() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
var x;
''');
@@ -163,7 +163,7 @@
}
test_conditionalPropertyAccess_set_loadLibrary() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
@@ -177,7 +177,7 @@
}
test_prefix_not_followed_by_dot() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/prefix_shadowed_by_local_declaration_test.dart b/pkg/analyzer/test/src/diagnostics/prefix_shadowed_by_local_declaration_test.dart
index b70ac85..33c6cf1 100644
--- a/pkg/analyzer/test/src/diagnostics/prefix_shadowed_by_local_declaration_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/prefix_shadowed_by_local_declaration_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class PrefixShadowedByLocalDeclarationTest extends DriverResolutionTest {
+class PrefixShadowedByLocalDeclarationTest extends PubPackageResolutionTest {
test_function_return_type_not_shadowed_by_parameter() async {
await assertNoErrorsInCode('''
import 'dart:async' as a;
@@ -48,7 +48,7 @@
''', [
error(HintCode.UNUSED_IMPORT, 7, 12),
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 34, 1,
- contextMessages: [message('/test/lib/test.dart', 59, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 59, 1)]),
error(CompileTimeErrorCode.PREFIX_SHADOWED_BY_LOCAL_DECLARATION, 34, 1),
]);
}
diff --git a/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart b/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
index 8e840e0..de4ef80 100644
--- a/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PrivateCollisionInMixinApplicationTest extends DriverResolutionTest {
+class PrivateCollisionInMixinApplicationTest extends PubPackageResolutionTest {
test_class_interfaceAndMixin_same() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -31,7 +31,7 @@
}
test_class_mixinAndMixin() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -51,7 +51,7 @@
}
test_class_mixinAndMixin_indirect() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -72,7 +72,7 @@
}
test_class_staticAndInstanceElement() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static void _foo() {}
}
@@ -90,7 +90,7 @@
}
test_class_staticElements() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static void _foo() {}
}
@@ -108,7 +108,7 @@
}
test_class_superclassAndMixin_getter2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
int get _foo => 0;
}
@@ -128,7 +128,7 @@
}
test_class_superclassAndMixin_method2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -165,7 +165,7 @@
}
test_class_superclassAndMixin_setter2() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
set _foo(int _) {}
}
@@ -185,7 +185,7 @@
}
test_classTypeAlias_mixinAndMixin() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -205,7 +205,7 @@
}
test_classTypeAlias_mixinAndMixin_indirect() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
@@ -226,7 +226,7 @@
}
test_classTypeAlias_superclassAndMixin() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
void _foo() {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/private_optional_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/private_optional_parameter_test.dart
index 6a6812c..c8b9dbc 100644
--- a/pkg/analyzer/test/src/diagnostics/private_optional_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/private_optional_parameter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class PrivateOptionalParameterTest extends DriverResolutionTest {
+class PrivateOptionalParameterTest extends PubPackageResolutionTest {
test_fieldFormal() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/private_setter_test.dart b/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
index 9566d3c..438630b 100644
--- a/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class PrivateSetterTest extends DriverResolutionTest {
+class PrivateSetterTest extends PubPackageResolutionTest {
test_typeLiteral_privateField_differentLibrary() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static int _foo = 0;
}
@@ -64,7 +64,7 @@
}
test_typeLiteral_privateSetter_differentLibrary_hasGetter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static set _foo(int _) {}
@@ -89,7 +89,7 @@
}
test_typeLiteral_privateSetter_differentLibrary_noGetter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A {
static set _foo(int _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart b/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
index 5e10b8c..0cfcca7 100644
--- a/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/receiver_of_type_never_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class InvalidUseOfNeverTest extends DriverResolutionTest
+class InvalidUseOfNeverTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_binaryExpression_never_eqEq() async {
await assertErrorsInCode(r'''
@@ -510,7 +509,7 @@
}
@reflectiveTest
-class InvalidUseOfNeverTest_Legacy extends DriverResolutionTest {
+class InvalidUseOfNeverTest_Legacy extends PubPackageResolutionTest {
test_binaryExpression_eqEq() async {
await assertNoErrorsInCode(r'''
void main() {
diff --git a/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart b/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
index c07784e..90d06b2 100644
--- a/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RecursiveCompileTimeConstantTest extends DriverResolutionTest {
+class RecursiveCompileTimeConstantTest extends PubPackageResolutionTest {
test_cycle() async {
await assertErrorsInCode(r'''
const x = y + 1;
@@ -38,7 +38,7 @@
test_fromMapLiteral() async {
newFile(
- '/test/lib/constants.dart',
+ '$testPackageLibPath/constants.dart',
content: r'''
const int x = y;
const int y = x;
diff --git a/pkg/analyzer/test/src/diagnostics/recursive_constructor_redirect_test.dart b/pkg/analyzer/test/src/diagnostics/recursive_constructor_redirect_test.dart
index e1e6130..25a71a3 100644
--- a/pkg/analyzer/test/src/diagnostics/recursive_constructor_redirect_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/recursive_constructor_redirect_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RecursiveConstructorRedirectTest extends DriverResolutionTest {
+class RecursiveConstructorRedirectTest extends PubPackageResolutionTest {
test_directSelfReference() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/recursive_factory_redirect_test.dart b/pkg/analyzer/test/src/diagnostics/recursive_factory_redirect_test.dart
index 3a792e1..3bcab7d 100644
--- a/pkg/analyzer/test/src/diagnostics/recursive_factory_redirect_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/recursive_factory_redirect_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RecursiveFactoryRedirectTest extends DriverResolutionTest {
+class RecursiveFactoryRedirectTest extends PubPackageResolutionTest {
test_directSelfReference() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/recursive_interface_inheritance_test.dart b/pkg/analyzer/test/src/diagnostics/recursive_interface_inheritance_test.dart
index 8650d66..472f7914 100644
--- a/pkg/analyzer/test/src/diagnostics/recursive_interface_inheritance_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/recursive_interface_inheritance_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RecursiveInterfaceInheritanceTest extends DriverResolutionTest {
+class RecursiveInterfaceInheritanceTest extends PubPackageResolutionTest {
test_loop() async {
await assertErrorsInCode('''
class A implements B {}
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_generative_to_missing_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_generative_to_missing_constructor_test.dart
index a349c9a..14a4018 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_generative_to_missing_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_generative_to_missing_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class RedirectGenerativeToNonGenerativeConstructorTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_missing() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_generative_to_non_generative_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_generative_to_non_generative_constructor_test.dart
index bc34b8d..5f7cf95 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_generative_to_non_generative_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_generative_to_non_generative_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class RedirectGenerativeToNonGenerativeConstructorTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_nonGenerative() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_abstract_class_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_abstract_class_constructor_test.dart
index a828062..57aabd4 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_abstract_class_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_abstract_class_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToAbstractClassConstructorTest extends DriverResolutionTest {
+class RedirectToAbstractClassConstructorTest extends PubPackageResolutionTest {
test_abstractRedirectsToSelf() async {
await assertErrorsInCode(r'''
abstract class A {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_function_type_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_function_type_test.dart
index ee21c3b..e76771c 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_function_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_function_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToInvalidFunctionTypeTest extends DriverResolutionTest {
+class RedirectToInvalidFunctionTypeTest extends PubPackageResolutionTest {
test_redirectToInvalidFunctionType() async {
await assertErrorsInCode('''
class A implements B {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_return_type_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_return_type_test.dart
index c61ac9c..8a754d2 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_return_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_invalid_return_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToInvalidReturnTypeTest extends DriverResolutionTest {
+class RedirectToInvalidReturnTypeTest extends PubPackageResolutionTest {
test_redirectToInvalidReturnType() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_missing_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_missing_constructor_test.dart
index e181529..058f1cc 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_missing_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_missing_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToMissingConstructorTest extends DriverResolutionTest {
+class RedirectToMissingConstructorTest extends PubPackageResolutionTest {
test_named() async {
await assertErrorsInCode('''
class A implements B{
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_non_class_test.dart
index f087599..c7610f1c 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_non_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToNonClassTest extends DriverResolutionTest {
+class RedirectToNonClassTest extends PubPackageResolutionTest {
test_notAType() async {
await assertErrorsInCode('''
class B {
diff --git a/pkg/analyzer/test/src/diagnostics/redirect_to_non_const_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/redirect_to_non_const_constructor_test.dart
index 3b40aec..d5cb09a 100644
--- a/pkg/analyzer/test/src/diagnostics/redirect_to_non_const_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/redirect_to_non_const_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RedirectToNonConstConstructorTest extends DriverResolutionTest {
+class RedirectToNonConstConstructorTest extends PubPackageResolutionTest {
test_constRedirector_cannotResolveRedirectee() async {
// No crash when redirectee cannot be resolved.
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/referenced_before_declaration_test.dart b/pkg/analyzer/test/src/diagnostics/referenced_before_declaration_test.dart
index a3abb89..cdcd43d 100644
--- a/pkg/analyzer/test/src/diagnostics/referenced_before_declaration_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/referenced_before_declaration_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ReferencedBeforeDeclarationTest extends DriverResolutionTest {
+class ReferencedBeforeDeclarationTest extends PubPackageResolutionTest {
test_cascade_after_declaration() async {
await assertNoErrorsInCode(r'''
testRequestHandler() {}
@@ -51,7 +51,7 @@
print(x) {}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 28, 1,
- contextMessages: [message('/test/lib/test.dart', 34, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 34, 1)]),
]);
}
@@ -65,7 +65,7 @@
print(x) {}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 28, 1,
- contextMessages: [message('/test/lib/test.dart', 38, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 38, 1)]),
]);
}
@@ -81,7 +81,7 @@
print(x) {}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 34, 1,
- contextMessages: [message('/test/lib/test.dart', 48, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 48, 1)]),
]);
}
@@ -98,7 +98,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 61, 1,
- contextMessages: [message('/test/lib/test.dart', 75, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 75, 1)]),
]);
assertElement(findNode.simple('v;'), findElement.localFunction('v'));
@@ -117,7 +117,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 61, 1,
- contextMessages: [message('/test/lib/test.dart', 74, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 74, 1)]),
]);
assertElement(findNode.simple('v;'), findElement.localVar('v'));
@@ -136,7 +136,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 62, 1,
- contextMessages: [message('/test/lib/test.dart', 76, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 76, 1)]),
]);
assertElement(findNode.simple('v;'), findElement.localFunction('v'));
@@ -155,7 +155,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 62, 1,
- contextMessages: [message('/test/lib/test.dart', 75, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 75, 1)]),
]);
assertElement(findNode.simple('v;'), findElement.localVar('v'));
@@ -168,7 +168,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 25, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 15, 1)]),
]);
}
@@ -179,7 +179,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 19, 1,
- contextMessages: [message('/test/lib/test.dart', 15, 1)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 15, 1)]),
]);
}
@@ -216,7 +216,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 23, 6,
- contextMessages: [message('/test/lib/test.dart', 44, 6)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 44, 6)]),
]);
}
@@ -229,7 +229,7 @@
}
''', [
error(CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, 23, 6,
- contextMessages: [message('/test/lib/test.dart', 44, 6)]),
+ contextMessages: [message('$testPackageLibPath/test.dart', 44, 6)]),
]);
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/rethrow_outside_catch_test.dart b/pkg/analyzer/test/src/diagnostics/rethrow_outside_catch_test.dart
index a42d2d6..ee8c262 100644
--- a/pkg/analyzer/test/src/diagnostics/rethrow_outside_catch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/rethrow_outside_catch_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class RethrowOutsideCatchTest extends DriverResolutionTest {
+class RethrowOutsideCatchTest extends PubPackageResolutionTest {
test_insideCatch() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/return_in_generative_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/return_in_generative_constructor_test.dart
index 9b0d9de..55ee4b1 100644
--- a/pkg/analyzer/test/src/diagnostics/return_in_generative_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_in_generative_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ReturnInGenerativeConstructorTest extends DriverResolutionTest {
+class ReturnInGenerativeConstructorTest extends PubPackageResolutionTest {
test_blockBody() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/return_in_generator_test.dart b/pkg/analyzer/test/src/diagnostics/return_in_generator_test.dart
index 5cfd8b3..bdc49f3 100644
--- a/pkg/analyzer/test/src/diagnostics/return_in_generator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_in_generator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class ReturnInGeneratorTest extends DriverResolutionTest {
+class ReturnInGeneratorTest extends PubPackageResolutionTest {
test_async() async {
await assertNoErrorsInCode(r'''
f() async {
diff --git a/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
index cc19734..986bd56 100644
--- a/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ReturnOfInvalidTypeTest extends DriverResolutionTest {
+class ReturnOfInvalidTypeTest extends PubPackageResolutionTest {
test_closure() async {
await assertErrorsInCode('''
typedef Td = int Function();
diff --git a/pkg/analyzer/test/src/diagnostics/return_without_value_test.dart b/pkg/analyzer/test/src/diagnostics/return_without_value_test.dart
index 93bed68..6d33a0d 100644
--- a/pkg/analyzer/test/src/diagnostics/return_without_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_without_value_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class ReturnWithoutValueTest extends DriverResolutionTest {
+class ReturnWithoutValueTest extends PubPackageResolutionTest {
test_async_futureInt() async {
await assertErrorsInCode('''
Future<int> f() async {
diff --git a/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
index daa180b..c5af2c7 100644
--- a/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,11 +18,11 @@
}
@reflectiveTest
-class SetElementFromDeferredLibraryTest extends DriverResolutionTest {
+class SetElementFromDeferredLibraryTest extends PubPackageResolutionTest {
@failingTest
test_const_ifElement_thenTrue_elseDeferred() async {
// reports wrong error code
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -34,7 +34,7 @@
}
test_const_ifElement_thenTrue_thenDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(
r'''
@@ -53,7 +53,7 @@
}
test_const_topLevel_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -64,7 +64,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/set_element_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/set_element_type_not_assignable_test.dart
index 08957ff..6fcc0ed 100644
--- a/pkg/analyzer/test/src/diagnostics/set_element_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/set_element_type_not_assignable_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +18,7 @@
}
@reflectiveTest
-class SetElementTypeNotAssignableTest extends DriverResolutionTest {
+class SetElementTypeNotAssignableTest extends PubPackageResolutionTest {
test_const_ifElement_thenElseFalse_intInt() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart b/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
index fc41cc6..9574bc5 100644
--- a/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,13 +14,13 @@
}
@reflectiveTest
-class SharedDeferredPrefixTest extends DriverResolutionTest {
+class SharedDeferredPrefixTest extends PubPackageResolutionTest {
test_hasSharedDeferredPrefix() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
f1() {}
''');
- newFile('/test/lib/lib2.dart', content: '''
+ newFile('$testPackageLibPath/lib2.dart', content: '''
library lib2;
f2() {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
index 3f20714..d62d6ba 100644
--- a/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
@@ -8,7 +8,7 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,9 +18,9 @@
}
@reflectiveTest
-class SpreadExpressionFromDeferredLibraryTest extends DriverResolutionTest {
+class SpreadExpressionFromDeferredLibraryTest extends PubPackageResolutionTest {
test_inList_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const List c = [];''');
await assertErrorsInCode(
r'''
@@ -42,7 +42,7 @@
}
test_inList_deferred_notConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const List c = [];''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -52,7 +52,7 @@
}
test_inList_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const List c = [];''');
await assertErrorsInCode(
r'''
@@ -68,7 +68,7 @@
}
test_inMap_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Map c = <int, int>{};''');
await assertErrorsInCode(
r'''
@@ -90,7 +90,7 @@
}
test_inMap_notConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Map c = <int, int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -100,7 +100,7 @@
}
test_inMap_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Map c = <int, int>{};''');
await assertErrorsInCode(
r'''
@@ -116,7 +116,7 @@
}
test_inSet_deferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Set c = <int>{};''');
await assertErrorsInCode(
r'''
@@ -138,7 +138,7 @@
}
test_inSet_notConst() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Set c = <int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -148,7 +148,7 @@
}
test_inSet_notDeferred() async {
- newFile(convertPath('/test/lib/lib1.dart'), content: r'''
+ newFile(convertPath('$testPackageLibPath/lib1.dart'), content: r'''
const Set c = <int>{};''');
await assertErrorsInCode(
r'''
diff --git a/pkg/analyzer/test/src/diagnostics/static_access_to_instance_member_test.dart b/pkg/analyzer/test/src/diagnostics/static_access_to_instance_member_test.dart
index 2e14499..3ae9041 100644
--- a/pkg/analyzer/test/src/diagnostics/static_access_to_instance_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/static_access_to_instance_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class StaticAccessToInstanceMemberTest extends DriverResolutionTest {
+class StaticAccessToInstanceMemberTest extends PubPackageResolutionTest {
test_annotation() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/strict_raw_type_test.dart b/pkg/analyzer/test/src/diagnostics/strict_raw_type_test.dart
index ed4670e..238ed5a 100644
--- a/pkg/analyzer/test/src/diagnostics/strict_raw_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/strict_raw_type_test.dart
@@ -3,11 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/test_utilities/package_mixin.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,10 +14,16 @@
}
@reflectiveTest
-class StrictRawTypeTest extends DriverResolutionTest with PackageMixin {
+class StrictRawTypeTest extends PubPackageResolutionTest {
@override
- AnalysisOptionsImpl get analysisOptions =>
- AnalysisOptionsImpl()..strictRawTypes = true;
+ void setUp() {
+ super.setUp();
+ writeTestPackageAnalysisOptionsFile(
+ AnalysisOptionsFileConfig(
+ strictRawTypes: true,
+ ),
+ );
+ }
test_asExpression() async {
await assertNoErrorsInCode(r'''
@@ -32,7 +36,7 @@
}
test_functionParts_optionalTypeArg() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
@@ -140,7 +144,7 @@
}
test_topLevelField_optionalTypeArg() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
@@ -186,7 +190,7 @@
}
test_typedef_modern_optionalTypeArgs() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
@@ -210,7 +214,7 @@
}
test_TypeOnClassDeclaration_optionalTypeArgs() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
@@ -247,7 +251,7 @@
}
test_typeOnExtendedType_optionalTypeArgs() async {
- addMetaPackage();
+ writeTestPackageConfigWithMeta();
await assertNoErrorsInCode(r'''
import 'package:meta/meta.dart';
@optionalTypeArgs
diff --git a/pkg/analyzer/test/src/diagnostics/subtype_of_ffi_class_test.dart b/pkg/analyzer/test/src/diagnostics/subtype_of_ffi_class_test.dart
index 504a6f1..a5aed99 100644
--- a/pkg/analyzer/test/src/diagnostics/subtype_of_ffi_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/subtype_of_ffi_class_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +17,7 @@
}
@reflectiveTest
-class SubtypeOfFfiClassInExtendsTest extends DriverResolutionTest {
+class SubtypeOfFfiClassInExtendsTest extends PubPackageResolutionTest {
test_Double() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
@@ -135,7 +135,7 @@
}
@reflectiveTest
-class SubtypeOfFfiClassInImplementsTest extends DriverResolutionTest {
+class SubtypeOfFfiClassInImplementsTest extends PubPackageResolutionTest {
test_Double() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
@@ -255,7 +255,7 @@
}
@reflectiveTest
-class SubtypeOfFfiClassInWithTest extends DriverResolutionTest {
+class SubtypeOfFfiClassInWithTest extends PubPackageResolutionTest {
test_Double() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart b/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
index 0c5b17e..66f4192 100644
--- a/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +17,7 @@
}
@reflectiveTest
-class SubtypeOfStructClassInExtendsTest extends DriverResolutionTest {
+class SubtypeOfStructClassInExtendsTest extends PubPackageResolutionTest {
test_extends() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
@@ -30,7 +30,7 @@
}
@reflectiveTest
-class SubtypeOfStructClassInImplementsTest extends DriverResolutionTest {
+class SubtypeOfStructClassInImplementsTest extends PubPackageResolutionTest {
test_implements() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
@@ -43,7 +43,7 @@
}
@reflectiveTest
-class SubtypeOfStructClassInWithTest extends DriverResolutionTest {
+class SubtypeOfStructClassInWithTest extends PubPackageResolutionTest {
test_with() async {
await assertErrorsInCode(r'''
import 'dart:ffi';
diff --git a/pkg/analyzer/test/src/diagnostics/super_in_extension_test.dart b/pkg/analyzer/test/src/diagnostics/super_in_extension_test.dart
index e28a9eb..1e7f624 100644
--- a/pkg/analyzer/test/src/diagnostics/super_in_extension_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/super_in_extension_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class SuperInExtensionTest extends DriverResolutionTest {
+class SuperInExtensionTest extends PubPackageResolutionTest {
test_binaryOperator_inMethod() async {
await assertErrorsInCode('''
extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/super_in_invalid_context_test.dart b/pkg/analyzer/test/src/diagnostics/super_in_invalid_context_test.dart
index 561613b..3a326ae 100644
--- a/pkg/analyzer/test/src/diagnostics/super_in_invalid_context_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/super_in_invalid_context_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class SuperInInvalidContextTest extends DriverResolutionTest {
+class SuperInInvalidContextTest extends PubPackageResolutionTest {
test_binaryExpression() async {
await assertErrorsInCode('''
var v = super + 0;
diff --git a/pkg/analyzer/test/src/diagnostics/super_in_redirecting_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/super_in_redirecting_constructor_test.dart
index 98b93d9..cbd6cdd 100644
--- a/pkg/analyzer/test/src/diagnostics/super_in_redirecting_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/super_in_redirecting_constructor_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class SuperInRedirectingConstructorTest extends DriverResolutionTest {
+class SuperInRedirectingConstructorTest extends PubPackageResolutionTest {
test_redirectionSuper() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/super_initializer_in_object_test.dart b/pkg/analyzer/test/src/diagnostics/super_initializer_in_object_test.dart
index c5e11c2..171e542 100644
--- a/pkg/analyzer/test/src/diagnostics/super_initializer_in_object_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/super_initializer_in_object_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class SuperInitializerInObjectTest extends DriverResolutionTest {
+class SuperInitializerInObjectTest extends PubPackageResolutionTest {
@failingTest
test_superInitializerInObject() async {
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart b/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
index 6209d99..cdde582 100644
--- a/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/switch_case_completes_normally_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class SwitchCaseCompletesNormallyTest extends DriverResolutionTest
+class SwitchCaseCompletesNormallyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_break() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/switch_expression_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/switch_expression_not_assignable_test.dart
index 0e9f2b5..60f0a17 100644
--- a/pkg/analyzer/test/src/diagnostics/switch_expression_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/switch_expression_not_assignable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class SwitchExpressionNotAssignableTest extends DriverResolutionTest {
+class SwitchExpressionNotAssignableTest extends PubPackageResolutionTest {
test_simple() async {
await assertErrorsInCode('''
f(int p) {
diff --git a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
index 388aa99..d1ec82c 100644
--- a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +14,7 @@
}
@reflectiveTest
-class ThrowOfInvalidTypeTest extends DriverResolutionTest
+class ThrowOfInvalidTypeTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_dynamic() async {
await assertNoErrorsInCode('''
@@ -26,7 +25,7 @@
}
test_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
int a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/todo_test.dart b/pkg/analyzer/test/src/diagnostics/todo_test.dart
index 03ed766..1a540df 100644
--- a/pkg/analyzer/test/src/diagnostics/todo_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/todo_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TodoTest extends DriverResolutionTest {
+class TodoTest extends PubPackageResolutionTest {
test_todo_multiLineComment() async {
await assertErrorsInCode(r'''
main() {
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
index e0732c8..0f72b33 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TopLevelCycleTest extends DriverResolutionTest {
+class TopLevelCycleTest extends PubPackageResolutionTest {
test_cycle() async {
await assertErrorsInCode(r'''
var x = y + 1;
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
index 6eae0be..185c80f 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TopLevelInstanceGetterTest extends DriverResolutionTest {
+class TopLevelInstanceGetterTest extends PubPackageResolutionTest {
test_call() async {
await assertNoErrorsInCode('''
class A {
@@ -48,7 +48,7 @@
}
test_field_imported() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile('$testPackageLibPath/a.dart', content: '''
class A {
int f;
}
@@ -322,7 +322,7 @@
test_implicitlyTyped_new_explicit_type_params_prefixed() async {
// The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
// it can't possibly affect the type of b.
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
class B<T> {
B(x);
}
@@ -385,7 +385,7 @@
}
test_implicitlyTyped_new_not_generic_prefixed() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
class B {
B(x);
}
@@ -403,7 +403,7 @@
}
test_implicitlyTyped_new_prefixed() async {
- newFile('/test/lib/lib1.dart', content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
class B<T> {
B(x);
}
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_instance_method_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_instance_method_test.dart
index 00a78e1..b71dd5b 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_instance_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_instance_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TopLevelInstanceMethodTest extends DriverResolutionTest {
+class TopLevelInstanceMethodTest extends PubPackageResolutionTest {
test_noParameter() async {
await assertErrorsInCode('''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/type_alias_cannot_reference_itself_test.dart b/pkg/analyzer/test/src/diagnostics/type_alias_cannot_reference_itself_test.dart
index 873b884..c8b634c 100644
--- a/pkg/analyzer/test/src/diagnostics/type_alias_cannot_reference_itself_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_alias_cannot_reference_itself_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeAliasCannotReferenceItselfTest extends DriverResolutionTest {
+class TypeAliasCannotReferenceItselfTest extends PubPackageResolutionTest {
test_functionTypedParameter_returnType() async {
await assertErrorsInCode('''
typedef A(A b());
diff --git a/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
index e1aebac..3f2504ee 100644
--- a/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class TypeAnnotationDeferredClassTest extends DriverResolutionTest {
+class TypeAnnotationDeferredClassTest extends PubPackageResolutionTest {
test_asExpression() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -30,7 +30,7 @@
}
test_catchClause() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -46,7 +46,7 @@
}
test_fieldFormalParameter() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -61,7 +61,7 @@
}
test_functionDeclaration_returnType() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -73,7 +73,7 @@
}
test_functionTypedFormalParameter_returnType() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -85,7 +85,7 @@
}
test_isExpression() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -100,7 +100,7 @@
}
test_methodDeclaration_returnType() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -114,7 +114,7 @@
}
test_simpleFormalParameter() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -126,7 +126,7 @@
}
test_typeArgumentList() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -139,7 +139,7 @@
}
test_typeArgumentList2() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -153,7 +153,7 @@
}
test_typeParameter_bound() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -165,7 +165,7 @@
}
test_variableDeclarationList() async {
- newFile("/test/lib/lib1.dart", content: '''
+ newFile('$testPackageLibPath/lib1.dart', content: '''
library lib1;
class A {}''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart b/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
index d1daeaf..da813a8 100644
--- a/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +17,7 @@
}
@reflectiveTest
-class TypeArgumentNotMatchingBoundsTest extends DriverResolutionTest {
+class TypeArgumentNotMatchingBoundsTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
await assertErrorsInCode(r'''
class A {}
@@ -417,7 +416,7 @@
class TypeArgumentNotMatchingBoundsWithNullSafetyTest
extends TypeArgumentNotMatchingBoundsTest with WithNullSafetyMixin {
test_extends_optIn_fromOptOut_Null() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
class A<X extends int> {}
''');
@@ -430,7 +429,7 @@
}
test_extends_optIn_fromOptOut_otherTypeParameter() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
void foo<T extends U, U>() {
}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/type_check_is_not_null_test.dart b/pkg/analyzer/test/src/diagnostics/type_check_is_not_null_test.dart
index e5e14a3..9834ad5 100644
--- a/pkg/analyzer/test/src/diagnostics/type_check_is_not_null_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_check_is_not_null_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeCheckIsNotNullTest extends DriverResolutionTest {
+class TypeCheckIsNotNullTest extends PubPackageResolutionTest {
test_not_Null() async {
await assertErrorsInCode(r'''
bool m(i) {
diff --git a/pkg/analyzer/test/src/diagnostics/type_check_is_null_test.dart b/pkg/analyzer/test/src/diagnostics/type_check_is_null_test.dart
index 19d804b..4df1afb 100644
--- a/pkg/analyzer/test/src/diagnostics/type_check_is_null_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_check_is_null_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeCheckIsNullTest extends DriverResolutionTest {
+class TypeCheckIsNullTest extends PubPackageResolutionTest {
test_is_Null() async {
await assertErrorsInCode(r'''
bool m(i) {
diff --git a/pkg/analyzer/test/src/diagnostics/type_parameter_referenced_by_static_test.dart b/pkg/analyzer/test/src/diagnostics/type_parameter_referenced_by_static_test.dart
index a1701e8..96fb733 100644
--- a/pkg/analyzer/test/src/diagnostics/type_parameter_referenced_by_static_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_parameter_referenced_by_static_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeParameterReferencedByStaticTest extends DriverResolutionTest {
+class TypeParameterReferencedByStaticTest extends PubPackageResolutionTest {
test_expression_method() async {
await assertErrorsInCode('''
class A<T> {
diff --git a/pkg/analyzer/test/src/diagnostics/type_parameter_supertype_of_its_bound_test.dart b/pkg/analyzer/test/src/diagnostics/type_parameter_supertype_of_its_bound_test.dart
index c199feb..54192759 100644
--- a/pkg/analyzer/test/src/diagnostics/type_parameter_supertype_of_its_bound_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_parameter_supertype_of_its_bound_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class TypeParameterSupertypeOfItsBoundTest extends DriverResolutionTest {
+class TypeParameterSupertypeOfItsBoundTest extends PubPackageResolutionTest {
test_1of1() async {
await assertErrorsInCode(r'''
class A<T extends T> {
diff --git a/pkg/analyzer/test/src/diagnostics/type_test_with_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/type_test_with_non_type_test.dart
index 97bb854..dc65285 100644
--- a/pkg/analyzer/test/src/diagnostics/type_test_with_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_test_with_non_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeTestWithNonTypeTest extends DriverResolutionTest {
+class TypeTestWithNonTypeTest extends PubPackageResolutionTest {
test_parameter() async {
await assertErrorsInCode('''
var A = 0;
diff --git a/pkg/analyzer/test/src/diagnostics/type_test_with_undefined_name_test.dart b/pkg/analyzer/test/src/diagnostics/type_test_with_undefined_name_test.dart
index 0183ea6..ba1fb17 100644
--- a/pkg/analyzer/test/src/diagnostics/type_test_with_undefined_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_test_with_undefined_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class TypeTestWithUndefinedNameTest extends DriverResolutionTest {
+class TypeTestWithUndefinedNameTest extends PubPackageResolutionTest {
test_undefined() async {
await assertErrorsInCode('''
f(var p) {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_annotation_test.dart
index 8d862d4..779d2d2 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_annotation_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedAnnotationTest extends DriverResolutionTest {
+class UndefinedAnnotationTest extends PubPackageResolutionTest {
test_unresolved_identifier() async {
await assertErrorsInCode(r'''
@unresolved
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_class_boolean_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_class_boolean_test.dart
index 5940836..58f17ba 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_class_boolean_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_class_boolean_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class UndefinedClassBooleanTest extends DriverResolutionTest {
+class UndefinedClassBooleanTest extends PubPackageResolutionTest {
test_variableDeclaration() async {
await assertErrorsInCode('''
f() { boolean v; }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
index cc2fd47..518e957 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
@@ -6,7 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
}
@reflectiveTest
-class UndefinedClassTest extends DriverResolutionTest {
+class UndefinedClassTest extends PubPackageResolutionTest {
test_const() async {
await assertErrorsInCode(r'''
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_default_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_default_test.dart
index d54d2cf..206da60 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_default_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_default_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class UndefinedConstructorInInitializerDefaultTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_hasOptionalParameters_defined() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_test.dart
index 0a21c5f..b951089 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_constructor_in_initializer_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedConstructorInInitializerTest extends DriverResolutionTest {
+class UndefinedConstructorInInitializerTest extends PubPackageResolutionTest {
test_explicit_named() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_enum_constant_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_enum_constant_test.dart
index 866d3ce..c3e537b 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_enum_constant_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_enum_constant_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedEnumConstantTest extends DriverResolutionTest {
+class UndefinedEnumConstantTest extends PubPackageResolutionTest {
test_defined() async {
await assertNoErrorsInCode(r'''
enum E { ONE }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
index b6a5b55..7e44f91 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedExtensionGetterTest extends DriverResolutionTest {
+class UndefinedExtensionGetterTest extends PubPackageResolutionTest {
test_override_defined() async {
await assertNoErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
index 24a6445..07b1785 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedExtensionMethodTest extends DriverResolutionTest {
+class UndefinedExtensionMethodTest extends PubPackageResolutionTest {
test_method_defined() async {
await assertNoErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_operator_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_operator_test.dart
index b03a1f1..4859442 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedExtensionOperatorTest extends DriverResolutionTest {
+class UndefinedExtensionOperatorTest extends PubPackageResolutionTest {
test_binary_defined() async {
await assertNoErrorsInCode('''
extension E on String {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
index 7b798b7c..551e4cb 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedExtensionSetterTest extends DriverResolutionTest {
+class UndefinedExtensionSetterTest extends PubPackageResolutionTest {
test_override_defined() async {
await assertNoErrorsInCode('''
extension E on int {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
index 4ba550f..a914c3c 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedGetterTest extends DriverResolutionTest {
+class UndefinedGetterTest extends PubPackageResolutionTest {
test_compoundAssignment_hasSetter_instance() async {
await assertErrorsInCode('''
class C {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
index 8de5d0b..57fbdfc 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,9 +15,9 @@
}
@reflectiveTest
-class UndefinedHiddenNameTest extends DriverResolutionTest {
+class UndefinedHiddenNameTest extends PubPackageResolutionTest {
test_export() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode(r'''
export 'lib1.dart' hide a;
''', [
@@ -27,7 +26,7 @@
}
test_import() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode(r'''
import 'lib1.dart' hide a;
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_identifier_await_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_identifier_await_test.dart
index 088d627..2610fc5 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_identifier_await_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_identifier_await_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedIdentifierAwaitTest extends DriverResolutionTest {
+class UndefinedIdentifierAwaitTest extends PubPackageResolutionTest {
test_function() async {
await assertErrorsInCode('''
void a() { await; }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
index 26a8915..06400e6 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class UndefinedIdentifierTest extends DriverResolutionTest {
+class UndefinedIdentifierTest extends PubPackageResolutionTest {
@failingTest
test_commentReference() async {
await assertErrorsInCode('''
@@ -116,7 +115,7 @@
}
test_private_getter() async {
- newFile("/test/lib/lib.dart", content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
class A {
var _foo;
@@ -134,7 +133,7 @@
}
test_private_setter() async {
- newFile("/test/lib/lib.dart", content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
library lib;
class A {
var _foo;
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
index c99c251..8767c86 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedMethodTest extends DriverResolutionTest {
+class UndefinedMethodTest extends PubPackageResolutionTest {
test_constructor_defined() async {
await assertNoErrorsInCode(r'''
class C {
@@ -25,7 +25,7 @@
}
test_definedInPrivateExtension() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class B {}
extension _ on B {
@@ -44,7 +44,7 @@
}
test_definedInUnnamedExtension() async {
- newFile('/test/lib/lib.dart', content: '''
+ newFile('$testPackageLibPath/lib.dart', content: '''
class C {}
extension on C {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_named_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_named_parameter_test.dart
index a03bbb2..96bbf01 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_named_parameter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_named_parameter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedNamedParameterTest extends DriverResolutionTest {
+class UndefinedNamedParameterTest extends PubPackageResolutionTest {
test_constConstructor() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_operator_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_operator_test.dart
index b52b9dd..45bc660 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UndefinedOperatorTest extends DriverResolutionTest {
+class UndefinedOperatorTest extends PubPackageResolutionTest {
test_assignmentExpression_undefined() async {
await assertErrorsInCode(r'''
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
index 0dbe857..87cafbf 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class UndefinedPrefixedNameTest extends DriverResolutionTest {
+class UndefinedPrefixedNameTest extends PubPackageResolutionTest {
test_getterContext() async {
- newFile('/test/lib/lib.dart');
+ newFile('$testPackageLibPath/lib.dart');
await assertErrorsInCode('''
import 'lib.dart' as p;
f() => p.c;
@@ -26,7 +26,7 @@
}
test_setterContext() async {
- newFile('/test/lib/lib.dart');
+ newFile('$testPackageLibPath/lib.dart');
await assertErrorsInCode('''
import 'lib.dart' as p;
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
index 72afe6f..d0d2315 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class UndefinedSetterTest extends DriverResolutionTest {
+class UndefinedSetterTest extends PubPackageResolutionTest {
test_importWithPrefix_defined() async {
- newFile("/test/lib/lib.dart", content: r'''
+ newFile('$testPackageLibPath/lib.dart', content: r'''
library lib;
set y(int value) {}''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
index 0c57c5d..4fba9ed 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,9 +15,9 @@
}
@reflectiveTest
-class UndefinedShownNameTest extends DriverResolutionTest {
+class UndefinedShownNameTest extends PubPackageResolutionTest {
test_export() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode(r'''
export 'lib1.dart' show a;
''', [
@@ -27,7 +26,7 @@
}
test_import() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode(r'''
import 'lib1.dart' show a;
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
index 2ca0bb1..d927ad5 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class UnnecessaryCastTest extends DriverResolutionTest {
+class UnnecessaryCastTest extends PubPackageResolutionTest {
test_conditionalExpression_changesResultType_left() async {
await assertNoErrorsInCode(r'''
class A {}
@@ -219,7 +218,7 @@
class UnnecessaryCastTestWithNullSafety extends UnnecessaryCastTest
with WithNullSafetyMixin {
test_interfaceType_star_toNone() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
int a = 0;
''');
@@ -237,7 +236,7 @@
}
test_interfaceType_star_toQuestion() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.7
int a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_no_such_method_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_no_such_method_test.dart
index d443e12..705ab75 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_no_such_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_no_such_method_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnnecessaryNoSuchMethodTest extends DriverResolutionTest {
+class UnnecessaryNoSuchMethodTest extends PubPackageResolutionTest {
test_blockBody() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
index 715f033..a72ca9d 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,10 +14,10 @@
}
@reflectiveTest
-class UnnecessaryNonNullAssertionTest extends DriverResolutionTest
+class UnnecessaryNonNullAssertionTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var x = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
index a7b5d7c..e48a345 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class UnnecessaryNullComparisonFalseTest extends DriverResolutionTest
+class UnnecessaryNullComparisonFalseTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_equal_intLiteral() async {
await assertNoErrorsInCode('''
@@ -30,7 +29,7 @@
}
test_equal_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var a = 0;
''');
@@ -78,7 +77,7 @@
}
@reflectiveTest
-class UnnecessaryNullComparisonTrueTest extends DriverResolutionTest
+class UnnecessaryNullComparisonTrueTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_notEqual_intLiteral() async {
await assertNoErrorsInCode('''
@@ -92,7 +91,7 @@
}
test_notEqual_legacy() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile('$testPackageLibPath/a.dart', content: r'''
// @dart = 2.5
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_type_check_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_type_check_test.dart
index 8121ec5..4c277a3 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_type_check_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_type_check_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +17,7 @@
}
@reflectiveTest
-class UnnecessaryTypeCheckFalseTest extends DriverResolutionTest {
+class UnnecessaryTypeCheckFalseTest extends PubPackageResolutionTest {
test_null_not_Null() async {
await assertErrorsInCode(r'''
var b = null is! Null;
@@ -72,7 +71,7 @@
}
@reflectiveTest
-class UnnecessaryTypeCheckTrueTest extends DriverResolutionTest {
+class UnnecessaryTypeCheckTrueTest extends PubPackageResolutionTest {
test_null_is_Null() async {
await assertErrorsInCode(r'''
var b = null is Null;
diff --git a/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_non_local_static_member_test.dart b/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_non_local_static_member_test.dart
index f142a15..56a6482 100644
--- a/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_non_local_static_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_non_local_static_member_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class UnqualifiedReferenceToNonLocalStaticMemberTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_static_member_of_extended_type_test.dart b/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_static_member_of_extended_type_test.dart
index 5e5860f..18a9304 100644
--- a/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_static_member_of_extended_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unqualified_reference_to_static_member_of_extended_type_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class UnqualifiedReferenceToStaticMemberOfExtendedTypeTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_getter() async {
await assertErrorsInCode('''
class MyClass {
diff --git a/pkg/analyzer/test/src/diagnostics/unused_catch_clause_test.dart b/pkg/analyzer/test/src/diagnostics/unused_catch_clause_test.dart
index 9eefe4c..c64c00e 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_catch_clause_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_catch_clause_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnusedCatchClauseTest extends DriverResolutionTest {
+class UnusedCatchClauseTest extends PubPackageResolutionTest {
@override
bool get enableUnusedLocalVariable => true;
diff --git a/pkg/analyzer/test/src/diagnostics/unused_catch_stack_test.dart b/pkg/analyzer/test/src/diagnostics/unused_catch_stack_test.dart
index 9ee0541..4a71c72 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_catch_stack_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_catch_stack_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnusedCatchStackTest extends DriverResolutionTest {
+class UnusedCatchStackTest extends PubPackageResolutionTest {
@override
bool get enableUnusedLocalVariable => true;
diff --git a/pkg/analyzer/test/src/diagnostics/unused_element_test.dart b/pkg/analyzer/test/src/diagnostics/unused_element_test.dart
index 1033aad..4a1a652 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_element_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class UnusedElementTest extends DriverResolutionTest {
+class UnusedElementTest extends PubPackageResolutionTest {
@override
bool get enableUnusedElement => true;
@@ -1424,7 +1423,7 @@
}
@reflectiveTest
-class UnusedElementWithNullSafetyTest extends DriverResolutionTest
+class UnusedElementWithNullSafetyTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_optionalParameter_isUsed_overrideRequiredNamed() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/unused_field_test.dart b/pkg/analyzer/test/src/diagnostics/unused_field_test.dart
index 045edd4..e274e91 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_field_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_field_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnusedFieldTest extends DriverResolutionTest {
+class UnusedFieldTest extends PubPackageResolutionTest {
@override
bool get enableUnusedElement => true;
diff --git a/pkg/analyzer/test/src/diagnostics/unused_import_test.dart b/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
index b1a0884..f574819 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class UnusedImportTest extends DriverResolutionTest {
+class UnusedImportTest extends PubPackageResolutionTest {
test_annotationOnDirective() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {
const A() {}
}
@@ -28,7 +28,7 @@
}
test_as() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
''');
await assertErrorsInCode(r'''
@@ -42,10 +42,10 @@
test_as_equalPrefixes_referenced() async {
// 18818
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class B {}
''');
await assertNoErrorsInCode(r'''
@@ -59,10 +59,10 @@
@failingTest
test_as_equalPrefixes_unreferenced() async {
// See todo at ImportsVerifier.prefixElementMap.
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class B {}
''');
await assertErrorsInCode(r'''
@@ -81,11 +81,11 @@
}
test_export() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
export 'lib2.dart';
class One {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
class Two {}
''');
await assertNoErrorsInCode(r'''
@@ -95,15 +95,15 @@
}
test_export2() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
export 'lib2.dart';
class One {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
export 'lib3.dart';
class Two {}
''');
- newFile('/test/lib/lib3.dart', content: r'''
+ newFile('$testPackageLibPath/lib3.dart', content: r'''
class Three {}
''');
await assertNoErrorsInCode(r'''
@@ -113,15 +113,15 @@
}
test_export_infiniteLoop() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
export 'lib2.dart';
class One {}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
export 'lib3.dart';
class Two {}
''');
- newFile('/test/lib/lib3.dart', content: r'''
+ newFile('$testPackageLibPath/lib3.dart', content: r'''
export 'lib2.dart';
class Three {}
''');
@@ -132,7 +132,7 @@
}
test_extension_instance_call() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on int {
int call(int x) => 0;
}
@@ -147,7 +147,7 @@
}
test_extension_instance_getter() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String get empty => '';
}
@@ -162,7 +162,7 @@
}
test_extension_instance_method() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String empty() => '';
}
@@ -177,7 +177,7 @@
}
test_extension_instance_operator_binary() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String operator -(String s) => this;
}
@@ -192,7 +192,7 @@
}
test_extension_instance_operator_index() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on int {
int operator [](int i) => 0;
}
@@ -207,7 +207,7 @@
}
test_extension_instance_operator_unary() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
void operator -() {}
}
@@ -222,7 +222,7 @@
}
test_extension_instance_setter() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
void set foo(int i) {}
}
@@ -237,7 +237,7 @@
}
test_extension_override_getter() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String get empty => '';
}
@@ -252,7 +252,7 @@
}
test_extension_static_field() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
static const String empty = '';
}
@@ -267,7 +267,7 @@
}
test_hide() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
''');
await assertErrorsInCode(r'''
@@ -287,7 +287,7 @@
}
test_metadata() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
const x = 0;
''');
await assertNoErrorsInCode(r'''
@@ -301,12 +301,12 @@
}
test_multipleExtensions() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String a() => '';
}
''');
- newFile('/test/lib/lib2.dart', content: r'''
+ newFile('$testPackageLibPath/lib2.dart', content: r'''
extension E on String {
String b() => '';
}
@@ -324,7 +324,7 @@
}
test_prefix_topLevelFunction() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class One {}
topLevelFunction() {}
''');
@@ -343,7 +343,7 @@
}
test_prefix_topLevelFunction2() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class One {}
topLevelFunction() {}
''');
@@ -364,7 +364,7 @@
}
test_show() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
''');
@@ -378,7 +378,7 @@
}
test_unusedImport() async {
- newFile('/test/lib/lib1.dart');
+ newFile('$testPackageLibPath/lib1.dart');
await assertErrorsInCode(r'''
import 'lib1.dart';
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/unused_label_test.dart b/pkg/analyzer/test/src/diagnostics/unused_label_test.dart
index 4d1c338..dbc6fb1 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_label_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_label_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnusedLabelTest extends DriverResolutionTest {
+class UnusedLabelTest extends PubPackageResolutionTest {
test_unused_inSwitch() async {
await assertErrorsInCode(r'''
f(x) {
diff --git a/pkg/analyzer/test/src/diagnostics/unused_local_variable_test.dart b/pkg/analyzer/test/src/diagnostics/unused_local_variable_test.dart
index 5bf524c..58c7b44 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_local_variable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_local_variable_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UnusedLocalVariableTest extends DriverResolutionTest {
+class UnusedLocalVariableTest extends PubPackageResolutionTest {
@override
bool get enableUnusedLocalVariable => true;
diff --git a/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
index 6e43f10..787c6841 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,9 +14,9 @@
}
@reflectiveTest
-class UnusedShownNameTest extends DriverResolutionTest {
+class UnusedShownNameTest extends PubPackageResolutionTest {
test_extension_instance_method_unused() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String empty() => '';
}
@@ -34,7 +34,7 @@
}
test_extension_instance_method_used() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
extension E on String {
String empty() => '';
}
@@ -49,7 +49,7 @@
}
test_unreferenced() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
''');
@@ -73,7 +73,7 @@
}
test_unusedShownName_as() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
''');
@@ -86,7 +86,7 @@
}
test_unusedShownName_duplicates() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
class A {}
class B {}
class C {}
@@ -104,7 +104,7 @@
}
test_unusedShownName_topLevelVariable() async {
- newFile('/test/lib/lib1.dart', content: r'''
+ newFile('$testPackageLibPath/lib1.dart', content: r'''
const int var1 = 1;
const int var2 = 2;
const int var3 = 3;
diff --git a/pkg/analyzer/test/src/diagnostics/uri_with_interpolation_test.dart b/pkg/analyzer/test/src/diagnostics/uri_with_interpolation_test.dart
index bf316a5..f637890 100644
--- a/pkg/analyzer/test/src/diagnostics/uri_with_interpolation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/uri_with_interpolation_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class UriWithInterpolationTest extends DriverResolutionTest {
+class UriWithInterpolationTest extends PubPackageResolutionTest {
test_constant() async {
await assertErrorsInCode('''
import 'stuff_\$platform.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/use_of_nullable_value_test.dart b/pkg/analyzer/test/src/diagnostics/use_of_nullable_value_test.dart
index 13e3cd2..6e71b13 100644
--- a/pkg/analyzer/test/src/diagnostics/use_of_nullable_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/use_of_nullable_value_test.dart
@@ -6,8 +6,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -18,7 +17,7 @@
}
@reflectiveTest
-class InvalidUseOfNullValueTest extends DriverResolutionTest
+class InvalidUseOfNullValueTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_as() async {
await assertNoErrorsInCode(r'''
@@ -125,7 +124,7 @@
@reflectiveTest
class UncheckedUseOfNullableValueInsideExtensionTest
- extends DriverResolutionTest with WithNullSafetyMixin {
+ extends PubPackageResolutionTest with WithNullSafetyMixin {
test_indexExpression_nonNullable() async {
await assertNoErrorsInCode(r'''
class A {
@@ -330,7 +329,7 @@
}
@reflectiveTest
-class UncheckedUseOfNullableValueTest extends DriverResolutionTest
+class UncheckedUseOfNullableValueTest extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_and_nonNullable() async {
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart b/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
index f5b79b4..bb87ff3 100644
--- a/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/use_of_void_result_test.dart
@@ -6,8 +6,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../generated/test_support.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -17,7 +16,7 @@
}
@reflectiveTest
-class UseOfVoidResultTest extends DriverResolutionTest {
+class UseOfVoidResultTest extends PubPackageResolutionTest {
test_andVoidLhsError() async {
await assertErrorsInCode('''
void main() {
@@ -727,7 +726,7 @@
}
@reflectiveTest
-class UseOfVoidResultTest_NonNullable extends DriverResolutionTest
+class UseOfVoidResultTest_NonNullable extends PubPackageResolutionTest
with WithNullSafetyMixin {
test_await() async {
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/variable_type_mismatch_test.dart b/pkg/analyzer/test/src/diagnostics/variable_type_mismatch_test.dart
index e624794..155020e 100644
--- a/pkg/analyzer/test/src/diagnostics/variable_type_mismatch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/variable_type_mismatch_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class VariableTypeMismatchTest extends DriverResolutionTest {
+class VariableTypeMismatchTest extends PubPackageResolutionTest {
test_assignNullToInt() async {
await assertNoErrorsInCode('''
const int x = null;
diff --git a/pkg/analyzer/test/src/diagnostics/void_with_type_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/void_with_type_arguments_test.dart
index bc3d754..7615279 100644
--- a/pkg/analyzer/test/src/diagnostics/void_with_type_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/void_with_type_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class VoidWithTypeArgumentsTest extends DriverResolutionTest {
+class VoidWithTypeArgumentsTest extends PubPackageResolutionTest {
test_noArguments() async {
await assertNoErrorsInCode('''
void f() {}
diff --git a/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_operator_test.dart b/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_operator_test.dart
index 9a22787..cb48547 100644
--- a/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_operator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class WrongNumberOfParametersForOperatorTest extends DriverResolutionTest {
+class WrongNumberOfParametersForOperatorTest extends PubPackageResolutionTest {
test_binaryOperators() async {
await _checkTooFewAndTooMany('<');
await _checkTooFewAndTooMany('>');
diff --git a/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_setter_test.dart b/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_setter_test.dart
index 9797798..48d73c1 100644
--- a/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/wrong_number_of_parameters_for_setter_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class WrongNumberOfParametersForSetterTest extends DriverResolutionTest {
+class WrongNumberOfParametersForSetterTest extends PubPackageResolutionTest {
test_correct_number_of_parameters() async {
await assertNoErrorsInCode(r'''
class A {
diff --git a/pkg/analyzer/test/src/diagnostics/wrong_number_of_type_arguments_test.dart b/pkg/analyzer/test/src/diagnostics/wrong_number_of_type_arguments_test.dart
index 3d53d64..2faef5e 100644
--- a/pkg/analyzer/test/src/diagnostics/wrong_number_of_type_arguments_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/wrong_number_of_type_arguments_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class WrongNumberOfTypeArgumentsTest extends DriverResolutionTest {
+class WrongNumberOfTypeArgumentsTest extends PubPackageResolutionTest {
test_class_tooFew() async {
await assertErrorsInCode(r'''
class A<E, F> {}
diff --git a/pkg/analyzer/test/src/diagnostics/wrong_type_parameter_variance_in_superinterface_test.dart b/pkg/analyzer/test/src/diagnostics/wrong_type_parameter_variance_in_superinterface_test.dart
index 840791c..71e8ff7 100644
--- a/pkg/analyzer/test/src/diagnostics/wrong_type_parameter_variance_in_superinterface_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/wrong_type_parameter_variance_in_superinterface_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -15,7 +15,7 @@
@reflectiveTest
class WrongTypeParameterVarianceInSuperinterfaceTest
- extends DriverResolutionTest {
+ extends PubPackageResolutionTest {
test_class_extends_function_parameterType() async {
await assertErrorsInCode(r'''
typedef F<X> = void Function(X);
diff --git a/pkg/analyzer/test/src/diagnostics/yield_each_in_non_generator_test.dart b/pkg/analyzer/test/src/diagnostics/yield_each_in_non_generator_test.dart
index 5843555..d17e43c 100644
--- a/pkg/analyzer/test/src/diagnostics/yield_each_in_non_generator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/yield_each_in_non_generator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class YieldEachInNonGeneratorTest extends DriverResolutionTest {
+class YieldEachInNonGeneratorTest extends PubPackageResolutionTest {
@FailingTest(
reason: 'We are currently trying to parse the yield statement as a '
'binary expression.')
diff --git a/pkg/analyzer/test/src/diagnostics/yield_in_non_generator_test.dart b/pkg/analyzer/test/src/diagnostics/yield_in_non_generator_test.dart
index e180713..8f72f46 100644
--- a/pkg/analyzer/test/src/diagnostics/yield_in_non_generator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/yield_in_non_generator_test.dart
@@ -5,7 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -14,7 +14,7 @@
}
@reflectiveTest
-class YieldInNonGeneratorTest extends DriverResolutionTest {
+class YieldInNonGeneratorTest extends PubPackageResolutionTest {
@FailingTest(
reason: 'We are currently trying to parse the yield statement as a '
'binary expression.')
diff --git a/pkg/analyzer/test/src/diagnostics/yield_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/yield_of_invalid_type_test.dart
index 53b3bfe..862460e 100644
--- a/pkg/analyzer/test/src/diagnostics/yield_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/yield_of_invalid_type_test.dart
@@ -5,8 +5,7 @@
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../dart/resolution/driver_resolution.dart';
-import '../dart/resolution/with_null_safety_mixin.dart';
+import '../dart/resolution/context_collection_resolution.dart';
main() {
defineReflectiveSuite(() {
@@ -16,7 +15,7 @@
}
@reflectiveTest
-class YieldOfInvalidTypeTest extends DriverResolutionTest {
+class YieldOfInvalidTypeTest extends PubPackageResolutionTest {
test_none_asyncStar_dynamic_to_streamInt() async {
await assertErrorsInCode(
'''
diff --git a/pkg/analyzer/tool/diagnostics/diagnostics.md b/pkg/analyzer/tool/diagnostics/diagnostics.md
index baec4b4..c6ef942 100644
--- a/pkg/analyzer/tool/diagnostics/diagnostics.md
+++ b/pkg/analyzer/tool/diagnostics/diagnostics.md
@@ -17,6 +17,9 @@
This page uses the following terms.
+[constant context]: #constant-context
+[potentially non-nullable]: #potentially-non-nullable
+
### Constant context
A _constant context_ is a region of code in which it isn't necessary to include
@@ -581,9 +584,8 @@
#### Description
The analyzer produces this diagnostic when a method or function has a
-return type that's <a href=”#potentially-non-nullable”>potentially
-non-nullable</a> but would implicitly return `null` if control reached the
-end of the function.
+return type that's [potentially non-nullable][] but would implicitly return
+`null` if control reached the end of the function.
#### Example
@@ -862,7 +864,8 @@
### const_constructor_param_type_mismatch
-_A value of type '{0}' can't be assigned to a parameter of type '{1}'._
+_A value of type '{0}' can't be assigned to a parameter of type '{1}' in a const
+constructor._
#### Description
@@ -3977,11 +3980,11 @@
#### Description
The analyzer produces this diagnostic when an optional parameter, whether
-positional or named, has a <a href=”#potentially-non-nullable”>potentially
-non-nullable</a> type and doesn't specify a default value. Optional
-parameters that have no explicit default value have an implicit default
-value of `null`. If the type of the parameter doesn't allow the parameter
-to have a value of `null`, then the implicit default value isn't valid.
+positional or named, has a [potentially non-nullable][] type and doesn't
+specify a default value. Optional parameters that have no explicit default
+value have an implicit default value of `null`. If the type of the
+parameter doesn't allow the parameter to have a value of `null`, then the
+implicit default value isn't valid.
#### Example
@@ -4754,7 +4757,7 @@
The analyzer produces this diagnostic when an element in a constant list
literal isn't a constant value. The list literal can be constant either
explicitly (because it's prefixed by the `const` keyword) or implicitly
-(because it appears in a [constant context](#constant-context)).
+(because it appears in a [constant context][]).
#### Examples
@@ -5060,8 +5063,7 @@
The analyzer produces this diagnostic when a local variable is referenced
and has all these characteristics:
-- Has a type that's <a href=”#potentially-non-nullable”>potentially
- non-nullable</a>.
+- Has a type that's [potentially non-nullable][].
- Doesn't have an initializer.
- Isn't marked as `late`.
- The analyzer can't prove that the local variable will be assigned before
@@ -5233,8 +5235,7 @@
The analyzer produces this diagnostic when a field is declared and has all
these characteristics:
-- Has a type that's <a href=”#potentially-non-nullable”>potentially
- non-nullable</a>
+- Has a type that's [potentially non-nullable][]
- Doesn't have an initializer
- Isn't marked as `late`
@@ -6220,11 +6221,10 @@
#### Description
The analyzer produces this diagnostic when an `as` expression inside a
-[constant context](#constant-context) is found in code that has an SDK
-constraint whose lower bound is less than 2.3.2. Using an `as` expression
-in a [constant context](#constant-context) wasn't supported in earlier
-versions, so this code won't be able to run against earlier versions of the
-SDK.
+[constant context][] is found in code that has an SDK constraint whose
+lower bound is less than 2.3.2. Using an `as` expression in a
+[constant context][] wasn't supported in earlier versions, so this code
+won't be able to run against earlier versions of the SDK.
#### Examples
@@ -6256,7 +6256,7 @@
If you need to support older versions of the SDK, then either rewrite the
code to not use an `as` expression, or change the code so that the `as`
-expression isn't in a [constant context](#constant-context):
+expression isn't in a [constant context][]:
{% prettify dart tag=pre+code %}
num x = 3;
@@ -6271,11 +6271,11 @@
#### Description
The analyzer produces this diagnostic when any use of the `&`, `|`, or `^`
-operators on the class `bool` inside a
-[constant context](#constant-context) is found in code that has an SDK
-constraint whose lower bound is less than 2.3.2. Using these operators in a
-[constant context](#constant-context) wasn't supported in earlier versions,
-so this code won't be able to run against earlier versions of the SDK.
+operators on the class `bool` inside a [constant context][] is found in
+code that has an SDK constraint whose lower bound is less than 2.3.2. Using
+these operators in a [constant context][] wasn't supported in earlier
+versions, so this code won't be able to run against earlier versions of the
+SDK.
#### Examples
@@ -6308,7 +6308,7 @@
If you need to support older versions of the SDK, then either rewrite the
code to not use these operators, or change the code so that the expression
-isn't in a [constant context](#constant-context):
+isn't in a [constant context][]:
{% prettify dart tag=pre+code %}
const bool a = true;
@@ -6324,11 +6324,10 @@
#### Description
The analyzer produces this diagnostic when the operator `==` is used on a
-non-primitive type inside a [constant context](#constant-context) is found
-in code that has an SDK constraint whose lower bound is less than 2.3.2.
-Using this operator in a [constant context](#constant-context) wasn't
-supported in earlier versions, so this code won't be able to run against
-earlier versions of the SDK.
+non-primitive type inside a [constant context][] is found in code that has
+an SDK constraint whose lower bound is less than 2.3.2. Using this operator
+in a [constant context][] wasn't supported in earlier versions, so this
+code won't be able to run against earlier versions of the SDK.
#### Examples
@@ -6362,7 +6361,7 @@
If you need to support older versions of the SDK, then either rewrite the
code to not use the `==` operator, or change the code so that the
-expression isn't in a [constant context](#constant-context):
+expression isn't in a [constant context][]:
{% prettify dart tag=pre+code %}
class C {}
@@ -6434,11 +6433,10 @@
#### Description
The analyzer produces this diagnostic when an `is` expression inside a
-[constant context](#constant-context) is found in code that has an SDK
-constraint whose lower bound is less than 2.3.2. Using an `is` expression
-in a [constant context](#constant-context) wasn't supported in earlier
-versions, so this code won't be able to run against earlier versions of the
-SDK.
+[constant context][] is found in code that has an SDK constraint whose
+lower bound is less than 2.3.2. Using an `is` expression in a
+[constant context][] wasn't supported in earlier versions, so this code
+won't be able to run against earlier versions of the SDK.
#### Examples
@@ -6471,7 +6469,7 @@
If you need to support older versions of the SDK, then either rewrite the
code to not use the `is` operator, or, if that isn't possible, change the
code so that the `is` expression isn't in a
-[constant context](#constant-context):
+[constant context][]:
{% prettify dart tag=pre+code %}
const x = 4;
@@ -6587,11 +6585,10 @@
#### Description
The analyzer produces this diagnostic when an if or spread element inside
-a [constant context](#constant-context) is found in code that has an
-SDK constraint whose lower bound is less than 2.5.0. Using an if or
-spread element inside a [constant context](#constant-context) wasn't
-supported in earlier versions, so this code won't be able to run against
-earlier versions of the SDK.
+a [constant context][] is found in code that has an SDK constraint whose
+lower bound is less than 2.5.0. Using an if or spread element inside a
+[constant context][] wasn't supported in earlier versions, so this code
+won't be able to run against earlier versions of the SDK.
#### Examples
@@ -6630,7 +6627,7 @@
{% endprettify %}
If that isn't possible, change the code so that the element isn't in a
-[constant context](#constant-context):
+[constant context][]:
{% prettify dart tag=pre+code %}
const a = [1, 2];
@@ -6900,8 +6897,8 @@
#### Description
The analyzer produces this diagnostic when an expression whose type is
-<a href=”#potentially-non-nullable”>potentially non-nullable</a> is
-dereferenced without first verifying that the value isn't `null`.
+[potentially non-nullable][] is dereferenced without first verifying that
+the value isn't `null`.
#### Example
@@ -8374,7 +8371,7 @@
### variable_type_mismatch
-_A value of type '{0}' can't be assigned to a variable of type '{1}'._
+_A value of type '{0}' can't be assigned to a const variable of type '{1}'._
#### Description
diff --git a/pkg/analyzer/tool/diagnostics/generate.dart b/pkg/analyzer/tool/diagnostics/generate.dart
index 6a0c2f3..bc4fb24 100644
--- a/pkg/analyzer/tool/diagnostics/generate.dart
+++ b/pkg/analyzer/tool/diagnostics/generate.dart
@@ -390,6 +390,9 @@
This page uses the following terms.
+[constant context]: #constant-context
+[potentially non-nullable]: #potentially-non-nullable
+
### Constant context
A _constant context_ is a region of code in which it isn't necessary to include
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index de97117..702c73a 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -441,7 +441,11 @@
// Setup embedding.
if (includeSdkResolver) {
- var embedderSdk = EmbedderSdk(resourceProvider, embedderMap);
+ var embedderSdk = EmbedderSdk(
+ resourceProvider,
+ embedderMap,
+ languageVersion: sdk.languageVersion,
+ );
if (embedderSdk.libraryMap.size() == 0) {
// The embedder uri resolver has no mappings. Use the default Dart SDK
// uri resolver.
diff --git a/pkg/compiler/lib/src/diagnostics/messages.dart b/pkg/compiler/lib/src/diagnostics/messages.dart
index 151df1e..e148654 100644
--- a/pkg/compiler/lib/src/diagnostics/messages.dart
+++ b/pkg/compiler/lib/src/diagnostics/messages.dart
@@ -210,7 +210,8 @@
MessageKind.JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER: const MessageTemplate(
MessageKind.JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER,
"Member '#{member}' in js-interop class '#{cls}' is not external.",
- howToFix: "Try adding the 'external' to '#{member}'.",
+ howToFix: "Try adding 'external' to '#{member}'. If #{member} is a "
+ "`late` field, use an `external` getter/setter instead.",
examples: const [
"""
import 'package:js/js.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
index 5bd1eab..0bd06bf 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
@@ -158,20 +158,11 @@
var uninitializedSentinel = holder;
holder[name] = uninitializedSentinel;
holder[getterName] = function() {
- var result;
- try {
- if (holder[name] === uninitializedSentinel) {
- result = holder[name] = initializer();
- } else {
- result = holder[name];
- }
- } finally {
- // Use try-finally, not try-catch/throw as it destroys the stack trace.
- // TODO(floitsch): for performance reasons the function should probably
- // be unique for each static.
- holder[getterName] = function() { return this[name]; };
+ if (holder[name] === uninitializedSentinel) {
+ holder[name] = initializer();
}
- return result;
+ holder[getterName] = function() { return this[name]; };
+ return holder[name];
};
}
diff --git a/pkg/compiler/lib/src/ssa/nodes.dart b/pkg/compiler/lib/src/ssa/nodes.dart
index cc52e28..9e5cdc5 100644
--- a/pkg/compiler/lib/src/ssa/nodes.dart
+++ b/pkg/compiler/lib/src/ssa/nodes.dart
@@ -4054,7 +4054,7 @@
/// depend on type variables and complex types.
class HIsTest extends HInstruction {
final AbstractValueWithPrecision checkedAbstractValue;
- final DartType dartType;
+ DartType dartType;
HIsTest(this.dartType, this.checkedAbstractValue, HInstruction checked,
HInstruction rti, AbstractValue type)
@@ -4066,9 +4066,9 @@
HInstruction get typeInput => inputs[0];
HInstruction get checkedInput => inputs[1];
- AbstractBool evaluate(JClosedWorld closedWorld, bool useNullSafety) =>
- _isTestResult(checkedInput, dartType, checkedAbstractValue, closedWorld,
- useNullSafety);
+ AbstractBool evaluate(JClosedWorld closedWorld, {bool useNullSafety}) =>
+ _typeTest(checkedInput, dartType, checkedAbstractValue, closedWorld,
+ isCast: false, useNullSafety: useNullSafety);
@override
accept(HVisitor visitor) => visitor.visitIsTest(this);
@@ -4101,9 +4101,9 @@
HInstruction get checkedInput => inputs[0];
- AbstractBool evaluate(JClosedWorld closedWorld, bool useNullSafety) =>
- _isTestResult(checkedInput, dartType, checkedAbstractValue, closedWorld,
- useNullSafety);
+ AbstractBool evaluate(JClosedWorld closedWorld, {bool useNullSafety}) =>
+ _typeTest(checkedInput, dartType, checkedAbstractValue, closedWorld,
+ isCast: false, useNullSafety: useNullSafety);
@override
accept(HVisitor visitor) => visitor.visitIsTestSimple(this);
@@ -4121,18 +4121,15 @@
String toString() => 'HIsTestSimple()';
}
-AbstractBool _isTestResult(
- HInstruction expression,
- DartType dartType,
- AbstractValueWithPrecision checkedAbstractValue,
- JClosedWorld closedWorld,
- bool useNullSafety) {
+AbstractBool _typeTest(HInstruction expression, DartType dartType,
+ AbstractValueWithPrecision checkedAbstractValue, JClosedWorld closedWorld,
+ {bool isCast, bool useNullSafety}) {
AbstractValueDomain abstractValueDomain = closedWorld.abstractValueDomain;
AbstractValue subsetType = expression.instructionType;
AbstractValue supersetType = checkedAbstractValue.abstractValue;
AbstractBool expressionIsNull = expression.isNull(abstractValueDomain);
- if (useNullSafety) {
+ if (!isCast && useNullSafety) {
if (expressionIsNull.isDefinitelyTrue) {
if (dartType.isObject) return AbstractBool.False;
if (closedWorld.dartTypes.isTopType(dartType) ||
@@ -4234,7 +4231,7 @@
/// Type cast or type check using Rti form of type expression.
class HAsCheck extends HCheck {
final AbstractValueWithPrecision checkedType;
- final DartType checkedTypeExpression;
+ DartType checkedTypeExpression;
final bool isTypeError;
HAsCheck(
@@ -4269,14 +4266,10 @@
return isTypeError == other.isTypeError;
}
- bool isRedundant(JClosedWorld closedWorld) {
- if (!checkedType.isPrecise) return false;
- AbstractValueDomain abstractValueDomain = closedWorld.abstractValueDomain;
- AbstractValue inputType = checkedInput.instructionType;
- return abstractValueDomain
- .isIn(inputType, checkedType.abstractValue)
- .isDefinitelyTrue;
- }
+ bool isRedundant(JClosedWorld closedWorld, {bool useNullSafety}) =>
+ _typeTest(checkedInput, checkedTypeExpression, checkedType, closedWorld,
+ isCast: true, useNullSafety: useNullSafety)
+ .isDefinitelyTrue;
@override
String toString() {
@@ -4307,14 +4300,10 @@
@override
accept(HVisitor visitor) => visitor.visitAsCheckSimple(this);
- bool isRedundant(JClosedWorld closedWorld) {
- if (!checkedType.isPrecise) return false;
- AbstractValueDomain abstractValueDomain = closedWorld.abstractValueDomain;
- AbstractValue inputType = checkedInput.instructionType;
- return abstractValueDomain
- .isIn(inputType, checkedType.abstractValue)
- .isDefinitelyTrue;
- }
+ bool isRedundant(JClosedWorld closedWorld, {bool useNullSafety}) =>
+ _typeTest(checkedInput, dartType, checkedType, closedWorld,
+ isCast: true, useNullSafety: useNullSafety)
+ .isDefinitelyTrue;
@override
int typeCode() => HInstruction.AS_CHECK_SIMPLE_TYPECODE;
diff --git a/pkg/compiler/lib/src/ssa/optimize.dart b/pkg/compiler/lib/src/ssa/optimize.dart
index a410a55..9ff7388 100644
--- a/pkg/compiler/lib/src/ssa/optimize.dart
+++ b/pkg/compiler/lib/src/ssa/optimize.dart
@@ -1845,37 +1845,54 @@
// TODO(fishythefish): Correctly constant fold `null as T` (also in
// [visitAsCheckSimple]) when running with strong NNBD. We might get this
// for free if nullability is precisely propagated to the typemasks.
- if (node.isRedundant(_closedWorld)) return node.checkedInput;
- // See if this check can be lowered to a simple one.
HInstruction typeInput = node.typeInput;
if (typeInput is HLoadType) {
TypeExpressionRecipe recipe = typeInput.typeExpression;
- DartType dartType = recipe.type;
- MemberEntity specializedCheck = SpecializedChecks.findAsCheck(
- dartType, _closedWorld.commonElements, _options.useLegacySubtyping);
- if (specializedCheck != null) {
- AbstractValueWithPrecision checkedType =
- _abstractValueDomain.createFromStaticType(dartType, nullable: true);
- return HAsCheckSimple(node.checkedInput, dartType, checkedType,
- node.isTypeError, specializedCheck, node.instructionType);
- }
- if (_closedWorld.dartTypes.isTopType(dartType)) {
- return node.checkedInput;
- }
+ node.checkedTypeExpression = recipe.type;
+ }
+
+ if (node.isRedundant(_closedWorld, useNullSafety: _options.useNullSafety)) {
+ return node.checkedInput;
+ }
+
+ // See if this check can be lowered to a simple one.
+ MemberEntity specializedCheck = SpecializedChecks.findAsCheck(
+ node.checkedTypeExpression,
+ _closedWorld.commonElements,
+ _options.useLegacySubtyping);
+ if (specializedCheck != null) {
+ AbstractValueWithPrecision checkedType = _abstractValueDomain
+ .createFromStaticType(node.checkedTypeExpression, nullable: true);
+ return HAsCheckSimple(
+ node.checkedInput,
+ node.checkedTypeExpression,
+ checkedType,
+ node.isTypeError,
+ specializedCheck,
+ node.instructionType);
}
return node;
}
@override
HInstruction visitAsCheckSimple(HAsCheckSimple node) {
- if (node.isRedundant(_closedWorld)) return node.checkedInput;
+ if (node.isRedundant(_closedWorld, useNullSafety: _options.useNullSafety)) {
+ return node.checkedInput;
+ }
return node;
}
@override
HInstruction visitIsTest(HIsTest node) {
- AbstractBool result = node.evaluate(_closedWorld, _options.useNullSafety);
+ HInstruction typeInput = node.typeInput;
+ if (typeInput is HLoadType) {
+ TypeExpressionRecipe recipe = typeInput.typeExpression;
+ node.dartType = recipe.type;
+ }
+
+ AbstractBool result =
+ node.evaluate(_closedWorld, useNullSafety: _options.useNullSafety);
if (result.isDefinitelyFalse) {
return _graph.addConstantBool(false, _closedWorld);
}
@@ -1883,32 +1900,25 @@
return _graph.addConstantBool(true, _closedWorld);
}
- HInstruction typeInput = node.typeInput;
- if (typeInput is HLoadType) {
- TypeExpressionRecipe recipe = typeInput.typeExpression;
- DartType dartType = recipe.type;
- IsTestSpecialization specialization =
- SpecializedChecks.findIsTestSpecialization(
- dartType, _graph, _closedWorld);
+ IsTestSpecialization specialization =
+ SpecializedChecks.findIsTestSpecialization(
+ node.dartType, _graph, _closedWorld);
- if (specialization == IsTestSpecialization.isNull ||
- specialization == IsTestSpecialization.notNull) {
- HInstruction nullTest = HIdentity(
- node.checkedInput,
- _graph.addConstantNull(_closedWorld),
- _abstractValueDomain.boolType);
- if (specialization == IsTestSpecialization.isNull) return nullTest;
- nullTest.sourceInformation = node.sourceInformation;
- node.block.addBefore(node, nullTest);
- return HNot(nullTest, _abstractValueDomain.boolType);
- }
+ if (specialization == IsTestSpecialization.isNull ||
+ specialization == IsTestSpecialization.notNull) {
+ HInstruction nullTest = HIdentity(node.checkedInput,
+ _graph.addConstantNull(_closedWorld), _abstractValueDomain.boolType);
+ if (specialization == IsTestSpecialization.isNull) return nullTest;
+ nullTest.sourceInformation = node.sourceInformation;
+ node.block.addBefore(node, nullTest);
+ return HNot(nullTest, _abstractValueDomain.boolType);
+ }
- if (specialization != null) {
- AbstractValueWithPrecision checkedType = _abstractValueDomain
- .createFromStaticType(dartType, nullable: false);
- return HIsTestSimple(dartType, checkedType, specialization,
- node.checkedInput, _abstractValueDomain.boolType);
- }
+ if (specialization != null) {
+ AbstractValueWithPrecision checkedType = _abstractValueDomain
+ .createFromStaticType(node.dartType, nullable: false);
+ return HIsTestSimple(node.dartType, checkedType, specialization,
+ node.checkedInput, _abstractValueDomain.boolType);
}
// TODO(fishythefish): Prune now-unneeded is-tests from the metadata.
@@ -1918,7 +1928,8 @@
@override
HInstruction visitIsTestSimple(HIsTestSimple node) {
- AbstractBool result = node.evaluate(_closedWorld, _options.useNullSafety);
+ AbstractBool result =
+ node.evaluate(_closedWorld, useNullSafety: _options.useNullSafety);
if (result.isDefinitelyFalse) {
return _graph.addConstantBool(false, _closedWorld);
}
diff --git a/pkg/compiler/test/rti/emission/optimized_is_check.dart b/pkg/compiler/test/rti/emission/optimized_is_check.dart
index ca84289..e652518 100644
--- a/pkg/compiler/test/rti/emission/optimized_is_check.dart
+++ b/pkg/compiler/test/rti/emission/optimized_is_check.dart
@@ -10,7 +10,7 @@
// This test verifies is-checks work with simple classes that have various
// degrees of instantiation.
-/*class: Instantiated:checkedInstance,checks=[],instance,typeArgument*/
+/*class: Instantiated:checks=[],instance,typeArgument*/
class Instantiated {} // instantiated and used in many ways
/*class: Deferred:checks=[],instance*/
@@ -24,10 +24,10 @@
/*class: DeferredAndRemoved:checks=[],onlyForConstructor*/
class DeferredAndRemoved {} // allocated after first check and removed
-/*class: UsedAsTypeParameter:checkedInstance,checks=[],onlyForRti,typeArgument*/
+/*class: UsedAsTypeParameter:checks=[],onlyForRti,typeArgument*/
class UsedAsTypeParameter {} // only used as a type parameter
-/*class: UsedAsTestedTypeParameter:checkedInstance,checks=[],onlyForRti,typeArgument*/
+/*class: UsedAsTestedTypeParameter:checks=[],onlyForRti,typeArgument*/
class UsedAsTestedTypeParameter {} // only used as a type parameter
/*class: Check:checks=[],instance*/
diff --git a/pkg/dartdev/lib/src/commands/compile.dart b/pkg/dartdev/lib/src/commands/compile.dart
index 1a804bd..e4d67bd 100644
--- a/pkg/dartdev/lib/src/commands/compile.dart
+++ b/pkg/dartdev/lib/src/commands/compile.dart
@@ -243,6 +243,12 @@
fileExt: 'jit',
formatName: 'app-jit',
));
+ addSubcommand(CompileSnapshotCommand(
+ commandName: 'kernel',
+ help: 'to a kernel snapshot',
+ fileExt: 'dill',
+ formatName: 'kernel',
+ ));
addSubcommand(CompileNativeCommand(
commandName: 'exe',
help: 'to a self-contained executable',
diff --git a/pkg/dartdev/lib/src/commands/run.dart b/pkg/dartdev/lib/src/commands/run.dart
index 218d905..c6333f5 100644
--- a/pkg/dartdev/lib/src/commands/run.dart
+++ b/pkg/dartdev/lib/src/commands/run.dart
@@ -217,11 +217,14 @@
}
}
- final path = args.firstWhere((e) => !e.startsWith('-'));
+ var path = args.firstWhere((e) => !e.startsWith('-'));
final pathIndex = args.indexOf(path);
final runArgs = (pathIndex + 1 == args.length)
? <String>[]
: args.sublist(pathIndex + 1);
+ try {
+ path = Uri.parse(path).toFilePath();
+ } catch (_) {}
VmInteropHandler.run(path, runArgs);
return 0;
}
diff --git a/pkg/dartdev/test/commands/compile_test.dart b/pkg/dartdev/test/commands/compile_test.dart
index 489181d..2daa5f2 100644
--- a/pkg/dartdev/test/commands/compile_test.dart
+++ b/pkg/dartdev/test/commands/compile_test.dart
@@ -159,6 +159,29 @@
expect(result.exitCode, 0);
});
+ test('Compile and run kernel snapshot', () {
+ final p = project(mainSrc: 'void main() { print("I love kernel"); }');
+ final outFile = path.join(p.dirPath, 'main.dill');
+ var result = p.runSync(
+ 'compile',
+ [
+ 'kernel',
+ '-o',
+ outFile,
+ p.relativeFilePath,
+ ],
+ );
+ expect(File(outFile).existsSync(), true,
+ reason: 'File not found: $outFile');
+ expect(result.stderr, isEmpty);
+ expect(result.exitCode, 0);
+
+ result = p.runSync('run', ['main.dill']);
+ expect(result.stdout, contains('I love kernel'));
+ expect(result.stderr, isEmpty);
+ expect(result.exitCode, 0);
+ });
+
test('Compile JS', () {
final p = project(mainSrc: "void main() { print('Hello from JS'); }");
final inFile = path.canonicalize(path.join(p.dirPath, p.relativeFilePath));
diff --git a/pkg/dartdev/test/commands/run_test.dart b/pkg/dartdev/test/commands/run_test.dart
index 1d71286..ba7d746 100644
--- a/pkg/dartdev/test/commands/run_test.dart
+++ b/pkg/dartdev/test/commands/run_test.dart
@@ -4,6 +4,7 @@
import 'dart:io';
+import 'package:path/path.dart' as path;
import 'package:test/test.dart';
import '../utils.dart';
@@ -90,7 +91,43 @@
'--enable-experiment=non-nullable',
'main.dart',
'argument1',
- 'argument2'
+ 'argument2',
+ ]);
+
+ // --enable-experiment and main.dart should not be passed.
+ expect(result.stdout, equals('[argument1, argument2]\n'));
+ expect(result.stderr, isEmpty);
+ expect(result.exitCode, 0);
+ });
+
+ test('with absolute file path', () async {
+ p = project();
+ p.file('main.dart', 'void main(args) { print(args); }');
+ // Test with absolute path
+ final name = path.join(p.dirPath, 'main.dart');
+ final result = p.runSync('run', [
+ '--enable-experiment=non-nullable',
+ name,
+ 'argument1',
+ 'argument2',
+ ]);
+
+ // --enable-experiment and main.dart should not be passed.
+ expect(result.stdout, equals('[argument1, argument2]\n'));
+ expect(result.stderr, isEmpty);
+ expect(result.exitCode, 0);
+ });
+
+ test('with file uri', () async {
+ p = project();
+ p.file('main.dart', 'void main(args) { print(args); }');
+ // Test with File uri
+ final name = path.join(p.dirPath, 'main.dart');
+ final result = p.runSync('run', [
+ '--enable-experiment=non-nullable',
+ Uri.file(name).toString(),
+ 'argument1',
+ 'argument2',
]);
// --enable-experiment and main.dart should not be passed.
diff --git a/pkg/dev_compiler/lib/src/js_ast/printer.dart b/pkg/dev_compiler/lib/src/js_ast/printer.dart
index c7891b4..ccf3275 100644
--- a/pkg/dev_compiler/lib/src/js_ast/printer.dart
+++ b/pkg/dev_compiler/lib/src/js_ast/printer.dart
@@ -1326,11 +1326,11 @@
if (node.isStar) {
out('*');
} else {
- var name = node.name.name;
+ var localName = localNamer.getName(node.name);
if (node.asName == null) {
// If our local was renamed, generate an implicit "as".
// This is a convenience feature so imports and exports can be renamed.
- var localName = localNamer.getName(node.name);
+ var name = node.name.name;
if (localName != name) {
out(export ? localName : name);
out(' as ');
@@ -1338,7 +1338,7 @@
return;
}
}
- out(name);
+ out(localName);
}
if (node.asName != null) {
out(' as ');
diff --git a/pkg/dev_compiler/tool/ddb b/pkg/dev_compiler/tool/ddb
index 90b58e9..b2cd5ce 100755
--- a/pkg/dev_compiler/tool/ddb
+++ b/pkg/dev_compiler/tool/ddb
@@ -308,6 +308,8 @@
} catch(e) {
}
let sdk = require(\"dart_sdk\");
+// Create a self reference for JS interop tests that set fields on self.
+sdk.dart.global.self = sdk.dart.global;
let main = require(\"./$basename\").$libname.main;
try {
if ($nnbd) {
@@ -342,6 +344,8 @@
var runjs = '''
import { dart, _isolate_helper } from '$sdkJsPath/dart_sdk.js';
import { $libname } from '$basename.js';
+// Create a self reference for JS interop tests that set fields on self.
+dart.global.self = dart.global;
let main = $libname.main;
try {
if ($nnbd) {
diff --git a/pkg/dev_compiler/tool/patch_sdk.dart b/pkg/dev_compiler/tool/patch_sdk.dart
index 06c87db..74b3ec5 100755
--- a/pkg/dev_compiler/tool/patch_sdk.dart
+++ b/pkg/dev_compiler/tool/patch_sdk.dart
@@ -40,7 +40,7 @@
var outDir = resolveInputUri(outPath.endsWith('/') ? outPath : '$outPath/');
var outLibRoot = outDir.resolve('lib/');
- var inputVersion = Platform.script.resolve('../../../tools/VERSION');
+ var inputVersion = Uri.file(Platform.executable).resolve('../version');
var outVersion = outDir.resolve('version');
var specification = LibrariesSpecification.parse(
diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
index 0696d1c..bd92018b 100644
--- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
+++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
@@ -129,6 +129,9 @@
"fake_async": {
ExperimentalFlag.nonNullable,
},
+ "file": {
+ ExperimentalFlag.nonNullable,
+ },
"fixnum": {
ExperimentalFlag.nonNullable,
},
@@ -138,6 +141,12 @@
"flutter_test": {
ExperimentalFlag.nonNullable,
},
+ "flutter_goldens": {
+ ExperimentalFlag.nonNullable,
+ },
+ "flutter_goldens_client": {
+ ExperimentalFlag.nonNullable,
+ },
"js": {
ExperimentalFlag.nonNullable,
},
@@ -153,9 +162,15 @@
"pedantic": {
ExperimentalFlag.nonNullable,
},
+ "platform": {
+ ExperimentalFlag.nonNullable,
+ },
"pool": {
ExperimentalFlag.nonNullable,
},
+ "process": {
+ ExperimentalFlag.nonNullable,
+ },
"sky_engine": {
ExperimentalFlag.nonNullable,
},
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index 12cbd54..2940119 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -55,6 +55,8 @@
import 'package:kernel/type_environment.dart' show TypeEnvironment;
import 'package:kernel/verifier.dart' show verifyGetStaticType;
+import 'package:kernel/transformations/value_class.dart' as valueClass;
+
import 'package:package_config/package_config.dart';
import '../../api_prototype/file_system.dart' show FileSystem;
@@ -1086,6 +1088,12 @@
errorOnUnevaluatedConstant: errorOnUnevaluatedConstant);
ticker.logMs("Evaluated constants");
+ if (loader.target.context.options
+ .isExperimentEnabledGlobally(ExperimentalFlag.valueClass)) {
+ valueClass.transformComponent(component);
+ ticker.logMs("Lowered value classes");
+ }
+
backendTarget.performModularTransformationsOnLibraries(
component,
loader.coreTypes,
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index a9a355b..99af171 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -681,6 +681,24 @@
if (fullCompile) {
p = await sourceTarget.buildComponent(verify: context.verify);
}
+
+ // To avoid possible crash in mixin transformation in the transformation
+ // of the user of this linked dependency we have to transform this too.
+ // We do that now.
+ Target backendTarget = sourceTarget.backendTarget;
+ if (backendTarget is TestVmTarget) {
+ backendTarget.enabled = true;
+ }
+ try {
+ if (sourceTarget.loader.coreTypes != null) {
+ sourceTarget.runBuildTransformations();
+ }
+ } finally {
+ if (backendTarget is TestVmTarget) {
+ backendTarget.enabled = false;
+ }
+ }
+
linkDependenciesOptions.component = p;
List<Library> keepLibraries = new List<Library>();
for (Library lib in p.libraries) {
@@ -696,9 +714,13 @@
}
return await CompilerContext.runWithOptions(options, (_) async {
+ Component alsoAppend = linkDependenciesOptions.component;
+ if (description.uri.pathSegments.last.endsWith(".no_link.dart")) {
+ alsoAppend = null;
+ }
KernelTarget sourceTarget = await outlineInitialization(
context, description, testOptions, <Uri>[description.uri],
- alsoAppend: linkDependenciesOptions.component);
+ alsoAppend: alsoAppend);
ValidatingInstrumentation instrumentation =
new ValidatingInstrumentation();
await instrumentation.loadExpectations(description.uri);
diff --git a/pkg/front_end/test/spell_checking_list_code.txt b/pkg/front_end/test/spell_checking_list_code.txt
index 341f7ce..a29800c 100644
--- a/pkg/front_end/test/spell_checking_list_code.txt
+++ b/pkg/front_end/test/spell_checking_list_code.txt
@@ -458,6 +458,7 @@
globally
glyph
gn
+goldens
googlesource
goto
gotos
diff --git a/pkg/front_end/test/spell_checking_list_tests.txt b/pkg/front_end/test/spell_checking_list_tests.txt
index 4a4024c..cad7625 100644
--- a/pkg/front_end/test/spell_checking_list_tests.txt
+++ b/pkg/front_end/test/spell_checking_list_tests.txt
@@ -456,6 +456,7 @@
py
python
quot
+quux
qux
r"
r"\s
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect
index d371a15..7c3edaa 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect
@@ -88,7 +88,7 @@
abstract member-signature get runtimeType() → core::Type*;
}
abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = "hello"}) → core::String*
+ method method(core::num* i, {core::String* s = #C1}) → core::String*
;
abstract member-signature get _identityHashCode() → core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
@@ -131,3 +131,7 @@
abstract member-signature get runtimeType() → core::Type*;
abstract forwarding-stub method method(covariant core::num* i) → core::String*;
}
+
+constants {
+ #C1 = "hello"
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect
index ab86f3d..9e34fc2 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect
@@ -18,7 +18,7 @@
class A extends core::Object {
synthetic constructor •() → mai::A*
;
- @core::override
+ @#C1
abstract method noSuchMethod(core::Invocation* invocation) → dynamic;
abstract member-signature get _identityHashCode() → core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
@@ -30,3 +30,7 @@
abstract member-signature method toString() → core::String*;
abstract member-signature get runtimeType() → core::Type*;
}
+
+constants {
+ #C1 = core::_Override {}
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect
index 5fecce1..4d03c6d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect
@@ -73,10 +73,23 @@
import self as self3;
import "dart:core" as core;
-abstract class _Foo&B&D = self3::B with self3::D /*isAnonymousMixin*/ {
+abstract class _Foo&B&D extends self3::B implements self3::D /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → self3::_Foo&B&D*
: super self3::B::•()
;
+ operator ==(dynamic dynamic) → core::bool*
+ ;
+ method x() → void
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
}
class Foo extends self3::_Foo&B&D {
synthetic constructor •() → self3::Foo*
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect
index b8e0c04..7ee0498 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect
@@ -8,11 +8,11 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::D::==}(null))
+ if(foo1.{mix::_Foo&B&D::==}(null))
throw "what?";
- if(!foo1.{mix::D::==}(foo1))
+ if(!foo1.{mix::_Foo&B&D::==}(foo1))
throw "what?";
- foo1.{mix::D::x}();
+ foo1.{mix::_Foo&B&D::x}();
mix2::Foo* foo2 = new mix2::Foo::•();
if(foo2.{mix2::D::==}(null))
throw "what?";
@@ -97,10 +97,26 @@
import self as mix;
import "dart:core" as core;
-abstract class _Foo&B&D = mix::B with mix::D /*isAnonymousMixin*/ {
+abstract class _Foo&B&D extends mix::B implements mix::D /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → mix::_Foo&B&D*
: super mix::B::•()
;
+ operator ==(dynamic dynamic) → core::bool* {
+ core::print("D.==");
+ return true;
+ }
+ method x() → void {
+ core::print("D.x");
+ }
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
}
class Foo extends mix::_Foo&B&D {
synthetic constructor •() → mix::Foo*
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect
index 15b0ec5..133d5d8 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect
@@ -8,11 +8,11 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::D::==}(null))
+ if(foo1.{mix::_Foo&B&D::==}(null))
throw "what?";
- if(!foo1.{mix::D::==}(foo1))
+ if(!foo1.{mix::_Foo&B&D::==}(foo1))
throw "what?";
- foo1.{mix::D::x}();
+ foo1.{mix::_Foo&B&D::x}();
mix2::Foo* foo2 = new mix2::Foo::•();
if(foo2.{mix2::D::==}(null))
throw "what?";
@@ -113,10 +113,26 @@
import self as mix;
import "dart:core" as core;
-abstract class _Foo&B&D = mix::B with mix::D /*isAnonymousMixin*/ {
+abstract class _Foo&B&D extends mix::B implements mix::D /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → mix::_Foo&B&D*
: super mix::B::•()
;
+ operator ==(dynamic dynamic) → core::bool* {
+ core::print("D.==");
+ return true;
+ }
+ method x() → void {
+ core::print("D.x");
+ }
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
}
class Foo extends mix::_Foo&B&D {
synthetic constructor •() → mix::Foo*
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/link.options b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/link.options
new file mode 100644
index 0000000..dae3436
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/link.options
@@ -0,0 +1,2 @@
+stub_or_not_lib1.dart
+stub_or_not_lib2.dart
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
new file mode 100644
index 0000000..5a443a4
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2020, 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 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect
new file mode 100644
index 0000000..35b37a6
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect
@@ -0,0 +1,85 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ ;
+}
+static method main() → dynamic
+ ;
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void
+ ;
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect
new file mode 100644
index 0000000..e5802ab
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect
@@ -0,0 +1,89 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ : super stu::Foo::•()
+ ;
+}
+static method main() → dynamic {}
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ : super core::Object::•()
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void {}
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ : super stu2::EvenFileB::•()
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ : super stu::Qux::•()
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ : super stu::Baz::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ : super core::Object::•()
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ : super core::Object::•()
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect
new file mode 100644
index 0000000..e5802ab
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect
@@ -0,0 +1,89 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ : super stu::Foo::•()
+ ;
+}
+static method main() → dynamic {}
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ : super core::Object::•()
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void {}
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ : super stu2::EvenFileB::•()
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ : super stu::Qux::•()
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ : super stu::Baz::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ : super core::Object::•()
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ : super core::Object::•()
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
new file mode 100644
index 0000000..33ce9da
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
@@ -0,0 +1,5 @@
+import 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..33ce9da
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
@@ -0,0 +1,5 @@
+import 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
new file mode 100644
index 0000000..5a443a4
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2020, 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 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect
new file mode 100644
index 0000000..2d74190
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect
@@ -0,0 +1,87 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+static method main() → dynamic
+ ;
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void
+ ;
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect
new file mode 100644
index 0000000..077097a
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect
@@ -0,0 +1,91 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ : super stu::Foo::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+static method main() → dynamic {}
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ : super core::Object::•()
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void {}
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ : super stu2::EvenFileB::•()
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ : super stu::Qux::•()
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ : super stu::Baz::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ : super core::Object::•()
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ : super core::Object::•()
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect
new file mode 100644
index 0000000..077097a
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect
@@ -0,0 +1,91 @@
+library;
+import self as self;
+import "stub_or_not_lib1.dart" as stu;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib1.dart";
+
+class ProblemClass extends stu::Foo {
+ synthetic constructor •() → self::ProblemClass*
+ : super stu::Foo::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+static method main() → dynamic {}
+
+library;
+import self as stu;
+import "dart:core" as core;
+import "stub_or_not_lib2.dart" as stu2;
+
+import "org-dartlang-testcase:///stub_or_not_lib2.dart";
+
+abstract class Qux extends core::Object implements stu2::EventFileA {
+ synthetic constructor •() → stu::Qux*
+ : super core::Object::•()
+ ;
+ method handleEvent(covariant stu2::EvenFileB* entry) → void {}
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileBPrime extends stu2::EvenFileB {
+ synthetic constructor •() → stu::EvenFileBPrime*
+ : super stu2::EvenFileB::•()
+ ;
+}
+abstract class Baz extends stu::Qux {
+ synthetic constructor •() → stu::Baz*
+ : super stu::Qux::•()
+ ;
+ method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
+}
+abstract class Foo extends stu::Baz implements stu::Qux {
+ synthetic constructor •() → stu::Foo*
+ : super stu::Baz::•()
+ ;
+ abstract forwarding-stub method handleEvent(covariant stu2::EvenFileB* entry) → void;
+}
+
+library;
+import self as stu2;
+import "dart:core" as core;
+
+abstract class EventFileA extends core::Object {
+ synthetic constructor •() → stu2::EventFileA*
+ : super core::Object::•()
+ ;
+ abstract method handleEvent(stu2::EvenFileB* entry) → void;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
+class EvenFileB extends core::Object {
+ synthetic constructor •() → stu2::EvenFileB*
+ : super core::Object::•()
+ ;
+ abstract member-signature get _identityHashCode() → core::int*;
+ abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
+ abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
+ abstract member-signature operator ==(dynamic other) → core::bool*;
+ abstract member-signature get hashCode() → core::int*;
+ abstract member-signature method toString() → core::String*;
+ abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
+ abstract member-signature get runtimeType() → core::Type*;
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
new file mode 100644
index 0000000..33ce9da
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
@@ -0,0 +1,5 @@
+import 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..33ce9da
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
@@ -0,0 +1,5 @@
+import 'stub_or_not_lib1.dart';
+
+class ProblemClass extends Foo {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
new file mode 100644
index 0000000..ae62042
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
@@ -0,0 +1,17 @@
+// Copyright (c) 2020, 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 'stub_or_not_lib2.dart';
+
+abstract class Qux implements EventFileA {
+ void handleEvent(covariant EvenFileB entry) {}
+}
+
+class EvenFileBPrime extends EvenFileB {}
+
+abstract class Baz extends Qux {
+ void handleEvent(EvenFileBPrime entry) {}
+}
+
+abstract class Foo extends Baz implements Qux {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
new file mode 100644
index 0000000..9a30c0e
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2020, 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.
+
+abstract class EventFileA {
+ void handleEvent(EvenFileB entry);
+}
+
+class EvenFileB {}
diff --git a/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect b/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect
index 9aa640b..decf707 100644
--- a/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect
+++ b/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect
@@ -17,5 +17,10 @@
import self as fro;
import "dart:core" as core;
-static const field core::List<core::int> a = const <core::int>[];
-static const field core::List<core::int?> b = const <core::int?>[];
+static const field core::List<core::int> a = #C1;
+static const field core::List<core::int?> b = #C2;
+
+constants {
+ #C1 = <core::int>[]
+ #C2 = <core::int?>[]
+}
diff --git a/pkg/test_runner/lib/src/fuchsia.dart b/pkg/test_runner/lib/src/fuchsia.dart
index 004350b..874ded5 100644
--- a/pkg/test_runner/lib/src/fuchsia.dart
+++ b/pkg/test_runner/lib/src/fuchsia.dart
@@ -28,10 +28,11 @@
Process _server;
String _deviceName;
- static Future<void> publishPackage(String buildDir, String mode) async {
+ static Future<void> publishPackage(
+ int emuCpus, String buildDir, String mode) async {
if (_inst == null) {
_inst = FuchsiaEmulator();
- await _inst._start();
+ await _inst._start(emuCpus);
}
await _inst._publishPackage(buildDir, mode);
}
@@ -47,11 +48,18 @@
arg.replaceAll(Repository.uri.toFilePath(), '/pkg/data/')));
}
- Future<void> _start() async {
+ Future<void> _start(int emuCpus) async {
// Start the emulator.
- DebugLogger.info('Starting Fuchsia emulator');
- _emu = await Process.start(
- 'xvfb-run', [femuTool, '--image', 'qemu-x64', '-N', '--headless']);
+ DebugLogger.info('Starting Fuchsia emulator with $emuCpus CPUs');
+ _emu = await Process.start('xvfb-run', [
+ femuTool,
+ '--image',
+ 'qemu-x64',
+ '-N',
+ '--headless',
+ '-s',
+ '$emuCpus'
+ ]);
// Wait until the emulator is ready and has a valid device name.
var deviceNameFuture = Completer<String>();
diff --git a/pkg/test_runner/lib/src/test_configurations.dart b/pkg/test_runner/lib/src/test_configurations.dart
index 93de210..32201e8 100644
--- a/pkg/test_runner/lib/src/test_configurations.dart
+++ b/pkg/test_runner/lib/src/test_configurations.dart
@@ -155,7 +155,7 @@
}
if (configuration.system == System.fuchsia) {
- await FuchsiaEmulator.publishPackage(
+ await FuchsiaEmulator.publishPackage(configuration.taskCount,
configuration.buildDirectory, configuration.mode.name);
}
}
diff --git a/pkg/testing/lib/src/analyze.dart b/pkg/testing/lib/src/analyze.dart
index fd4d17f..0faf99f 100644
--- a/pkg/testing/lib/src/analyze.dart
+++ b/pkg/testing/lib/src/analyze.dart
@@ -218,7 +218,7 @@
List<String> arguments = <String>[
"--packages=${toFilePath(packages)}",
"--format=machine",
- "--dart-sdk=${Uri.base.resolve('sdk/').toFilePath()}",
+ "--dart-sdk=${_findSdkPath()}",
];
if (analysisOptions != null) {
arguments.add("--options=${toFilePath(analysisOptions)}");
@@ -274,6 +274,18 @@
}
}
+String _findSdkPath() {
+ var executableUri = Uri.file(Platform.executable);
+ if (File.fromUri(executableUri.resolve('../version')).existsSync()) {
+ return executableUri.resolve('..').toFilePath();
+ } else if (File.fromUri(executableUri.resolve('dart-sdk/version'))
+ .existsSync()) {
+ return executableUri.resolve('dart-sdk').toFilePath();
+ } else {
+ throw StateError('Cannot find dart-sdk for $executableUri');
+ }
+}
+
Future<String> git(String command, Iterable<String> arguments,
{String workingDirectory}) async {
ProcessResult result = await Process.run(
diff --git a/pkg/vm/lib/transformations/type_flow/transformer.dart b/pkg/vm/lib/transformations/type_flow/transformer.dart
index 88c865e..14ddeb8 100644
--- a/pkg/vm/lib/transformations/type_flow/transformer.dart
+++ b/pkg/vm/lib/transformations/type_flow/transformer.dart
@@ -1698,6 +1698,8 @@
final namedParameters = <VariableDeclaration>[];
for (final param in func.namedParameters) {
if (alwaysPassedOptionals.contains(param.name)) {
+ // Make sure to clear the isRequired flag in case it was set.
+ param.isRequired = false;
namedPositionals.add(param..initializer = null);
} else {
namedParameters.add(param);
diff --git a/pkg/vm_snapshot_analysis/CHANGELOG.md b/pkg/vm_snapshot_analysis/CHANGELOG.md
index 4eb142c..2bfcd15 100644
--- a/pkg/vm_snapshot_analysis/CHANGELOG.md
+++ b/pkg/vm_snapshot_analysis/CHANGELOG.md
@@ -1,6 +1,7 @@
# Changelog
-## 0.5.1-dev.1
+## 0.5.2
+- Add support for package paths that look like `package:foo.bar.baz/src/foobar.dart`
- Move `commands` back to lib.
## 0.5.0+1
diff --git a/pkg/vm_snapshot_analysis/lib/src/commands/summary.dart b/pkg/vm_snapshot_analysis/lib/src/commands/summary.dart
index 1851f5e..c45cfd0 100644
--- a/pkg/vm_snapshot_analysis/lib/src/commands/summary.dart
+++ b/pkg/vm_snapshot_analysis/lib/src/commands/summary.dart
@@ -168,7 +168,7 @@
if (traceJson != null &&
(granularity == HistogramType.byLibrary ||
granularity == HistogramType.byPackage)) {
- final traceJsonRaw = loadJsonFromFile(traceJson);
+ final traceJsonRaw = await loadJsonFromFile(traceJson);
var callGraph = loadTrace(traceJsonRaw);
// Convert call graph into the approximate dependency graph, dropping any
diff --git a/pkg/vm_snapshot_analysis/lib/treemap.dart b/pkg/vm_snapshot_analysis/lib/treemap.dart
index 479876a..68103f3 100644
--- a/pkg/vm_snapshot_analysis/lib/treemap.dart
+++ b/pkg/vm_snapshot_analysis/lib/treemap.dart
@@ -10,6 +10,7 @@
import 'package:vm_snapshot_analysis/program_info.dart';
import 'package:vm_snapshot_analysis/instruction_sizes.dart'
as instruction_sizes;
+import 'package:vm_snapshot_analysis/utils.dart';
import 'package:vm_snapshot_analysis/v8_profile.dart' as v8_profile;
/// Specifies the granularity at which snapshot nodes are represented when
@@ -131,8 +132,15 @@
return;
}
- path = path != '' ? '$path/${node.name}' : node.name;
- _addSymbol(root, path, '<self>', node.size);
+ // Don't add package node names to the path because nested library nodes
+ // already contain package name.
+ if (node.type == NodeType.packageNode) {
+ _addSymbol(root, node.name, '<self>', node.size);
+ } else {
+ path = path != '' ? '$path/${node.name}' : node.name;
+ _addSymbol(root, path, '<self>', node.size);
+ }
+
for (var child in node.children.values) {
recurse(child, path, root, format);
}
@@ -227,7 +235,8 @@
var node = root;
var depth = 0;
if (path != '') {
- for (var part in path.split('/')) {
+ final parts = partsForPath(path);
+ for (var part in parts) {
node = _addChild(node, kindPath, part);
depth++;
}
diff --git a/pkg/vm_snapshot_analysis/lib/utils.dart b/pkg/vm_snapshot_analysis/lib/utils.dart
index 2023833..c226dad 100644
--- a/pkg/vm_snapshot_analysis/lib/utils.dart
+++ b/pkg/vm_snapshot_analysis/lib/utils.dart
@@ -108,3 +108,12 @@
}
print('Total: ${totalSize} bytes');
}
+
+List<String> partsForPath(String path) {
+ final parts = path.split('/');
+ if (parts.first.startsWith('package:')) {
+ // Convert dot separated package name into a path from which this package originated.
+ parts.replaceRange(0, 1, parts.first.split('.'));
+ }
+ return parts;
+}
diff --git a/pkg/vm_snapshot_analysis/pubspec.yaml b/pkg/vm_snapshot_analysis/pubspec.yaml
index 67f347e..66e7a37 100644
--- a/pkg/vm_snapshot_analysis/pubspec.yaml
+++ b/pkg/vm_snapshot_analysis/pubspec.yaml
@@ -1,6 +1,6 @@
name: vm_snapshot_analysis
description: Utilities for analysing AOT snapshot size.
-version: 0.5.1-dev.1
+version: 0.5.2
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/vm_snapshot_analysis
diff --git a/pkg/vm_snapshot_analysis/test/instruction_sizes_test.dart b/pkg/vm_snapshot_analysis/test/instruction_sizes_test.dart
index fb15baf..c5be237 100644
--- a/pkg/vm_snapshot_analysis/test/instruction_sizes_test.dart
+++ b/pkg/vm_snapshot_analysis/test/instruction_sizes_test.dart
@@ -2,6 +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.
+import 'dart:convert';
import 'dart:io';
import 'package:test/test.dart';
@@ -9,6 +10,7 @@
import 'package:vm_snapshot_analysis/instruction_sizes.dart'
as instruction_sizes;
import 'package:vm_snapshot_analysis/program_info.dart';
+import 'package:vm_snapshot_analysis/treemap.dart';
import 'package:vm_snapshot_analysis/utils.dart';
import 'utils.dart';
@@ -641,6 +643,40 @@
});
});
});
+
+ test('treemap', () async {
+ await withV8Profile('treemap', testSource, (profileJson) async {
+ final infoJson = await loadJson(File(profileJson));
+ final info = await loadProgramInfoFromJson(infoJson,
+ collapseAnonymousClosures: true);
+ final treemap = treemapFromInfo(info);
+
+ List<Map<String, dynamic>> childrenOf(Map<String, dynamic> node) =>
+ (node['children'] as List).cast();
+
+ String nameOf(Map<String, dynamic> node) => node['n'];
+
+ Map<String, dynamic> findChild(Map<String, dynamic> node, String name) {
+ return childrenOf(node)
+ .firstWhere((child) => nameOf(child) == name, orElse: () => null);
+ }
+
+ Set<String> childrenNames(Map<String, dynamic> node) {
+ return childrenOf(node).map(nameOf).toSet();
+ }
+
+ // Verify that we don't include package names twice into paths
+ // while building the treemap.
+ if (Platform.isWindows) {
+ // Note: in Windows we don't consider main.dart part of package:input
+ // for some reason.
+ expect(findChild(treemap, 'package:input/input.dart'), isNotNull);
+ } else {
+ expect(childrenNames(findChild(treemap, 'package:input')),
+ equals({'<self>', 'main.dart', 'input.dart'}));
+ }
+ });
+ });
});
}
diff --git a/pkg/vm_snapshot_analysis/test/utils_test.dart b/pkg/vm_snapshot_analysis/test/utils_test.dart
new file mode 100644
index 0000000..338b0b4
--- /dev/null
+++ b/pkg/vm_snapshot_analysis/test/utils_test.dart
@@ -0,0 +1,73 @@
+// Copyright (c) 2020, 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:test/test.dart';
+
+import 'package:vm_snapshot_analysis/utils.dart';
+
+void main() async {
+ group('utils', () {
+ test('partsForPath', () async {
+ expect(partsForPath('@shared'), equals(['@shared']));
+ expect(
+ partsForPath('dart:async/_Future'),
+ equals(['dart:async', '_Future']),
+ );
+ expect(
+ partsForPath('dart:typed_data/_Int32x4/&'),
+ equals(['dart:typed_data', '_Int32x4', '&']),
+ );
+ expect(
+ partsForPath('package:foo/bar/baz/bop.dart'),
+ equals(['package:foo', 'bar', 'baz', 'bop.dart']),
+ );
+ expect(
+ partsForPath('package:foo.bar.baz/src/foobar/foobaz'),
+ equals(['package:foo', 'bar', 'baz', 'src', 'foobar', 'foobaz']),
+ );
+ expect(
+ partsForPath('package:foo.bar.baz/src/foobar/foobaz.dart/::/_method'),
+ equals([
+ 'package:foo',
+ 'bar',
+ 'baz',
+ 'src',
+ 'foobar',
+ 'foobaz.dart',
+ '::',
+ '_method',
+ ]),
+ );
+
+ expect(
+ partsForPath('package:foo.bar.baz.proto/model.pb.dart'),
+ equals([
+ 'package:foo',
+ 'bar',
+ 'baz',
+ 'proto',
+ 'model.pb.dart',
+ ]),
+ );
+ expect(
+ partsForPath(
+ 'package:a.b.c.d.e.f/src/page/controller.dart/PageController/new PageController./<anonymous closure @2770>'),
+ equals([
+ 'package:a',
+ 'b',
+ 'c',
+ 'd',
+ 'e',
+ 'f',
+ 'src',
+ 'page',
+ 'controller.dart',
+ 'PageController',
+ 'new PageController.',
+ '<anonymous closure @2770>',
+ ]),
+ );
+ });
+ });
+}
diff --git a/runtime/bin/eventhandler_fuchsia.cc b/runtime/bin/eventhandler_fuchsia.cc
index d1171db..8394deb 100644
--- a/runtime/bin/eventhandler_fuchsia.cc
+++ b/runtime/bin/eventhandler_fuchsia.cc
@@ -398,7 +398,7 @@
RemoveFromPort(port_handle_, di);
} else if ((old_mask == 0) && (new_mask != 0)) {
AddToPort(port_handle_, di);
- } else if ((old_mask != 0) && (new_mask != 0) && (old_mask != new_mask)) {
+ } else if ((old_mask != 0) && (new_mask != 0)) {
ASSERT(!di->IsListeningSocket());
RemoveFromPort(port_handle_, di);
AddToPort(port_handle_, di);
diff --git a/runtime/bin/file_fuchsia.cc b/runtime/bin/file_fuchsia.cc
index e2e87d8..d1918b0 100644
--- a/runtime/bin/file_fuchsia.cc
+++ b/runtime/bin/file_fuchsia.cc
@@ -9,7 +9,6 @@
#include <errno.h> // NOLINT
#include <fcntl.h> // NOLINT
-#include <lib/fdio/fdio.h> // NOLINT
#include <lib/fdio/namespace.h> // NOLINT
#include <libgen.h> // NOLINT
#include <sys/mman.h> // NOLINT
@@ -52,10 +51,8 @@
void File::Close() {
ASSERT(handle_->fd() >= 0);
if (handle_->fd() == STDOUT_FILENO) {
- // If stdout, redirect fd to Fuchsia's equivalent of /dev/null.
- auto* null_fdio = fdio_null_create();
- ASSERT(null_fdio != nullptr);
- int null_fd = NO_RETRY_EXPECTED(fdio_bind_to_fd(null_fdio, -1, 0));
+ // If stdout, redirect fd to /dev/null.
+ int null_fd = NO_RETRY_EXPECTED(open("/dev/null", O_WRONLY));
ASSERT(null_fd >= 0);
VOID_NO_RETRY_EXPECTED(dup2(null_fd, handle_->fd()));
VOID_NO_RETRY_EXPECTED(close(null_fd));
diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc
index a058ebb..9f62982 100644
--- a/runtime/bin/loader.cc
+++ b/runtime/bin/loader.cc
@@ -138,16 +138,11 @@
return Dart_True();
}
-#if defined(DART_PRECOMPILED_RUNTIME)
-Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
- Dart_Handle library,
- Dart_Handle url) {
- return Dart_Null();
-}
-#else
+#if !defined(DART_PRECOMPILED_RUNTIME)
static void MallocFinalizer(void* isolate_callback_data, void* peer) {
free(peer);
}
+#endif
Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
Dart_Handle library,
@@ -174,6 +169,7 @@
}
return Dart_DefaultCanonicalizeUrl(library_url, url);
}
+#if !defined(DART_PRECOMPILED_RUNTIME)
if (tag == Dart_kKernelTag) {
uint8_t* kernel_buffer = NULL;
intptr_t kernel_buffer_size = 0;
@@ -216,8 +212,10 @@
}
}
return DartUtils::NewError("Invalid tag : %d '%s'", tag, url_string);
-}
+#else // !defined(DART_PRECOMPILED_RUNTIME)
+ return DartUtils::NewError("Unimplemented tag : %d '%s'", tag, url_string);
#endif // !defined(DART_PRECOMPILED_RUNTIME)
+}
Dart_Handle Loader::DeferredLoadHandler(intptr_t loading_unit_id) {
// A synchronous implementation. An asynchronous implementation would be
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index 438aae4..5f9c5e5 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -221,10 +221,8 @@
if (Dart_IsError(result)) goto failed;
if (isolate_run_app_snapshot) {
- if (Dart_IsVMFlagSet("support_service") || !Dart_IsPrecompiledRuntime()) {
- result = Loader::InitForSnapshot(script_uri, isolate_data);
- if (Dart_IsError(result)) goto failed;
- }
+ result = Loader::InitForSnapshot(script_uri, isolate_data);
+ if (Dart_IsError(result)) goto failed;
} else {
result = DartUtils::ResolveScript(Dart_NewStringFromCString(script_uri));
if (Dart_IsError(result)) return result != nullptr;
@@ -333,10 +331,8 @@
}
if (isolate_run_app_snapshot) {
- if (Dart_IsVMFlagSet("support_service") || !Dart_IsPrecompiledRuntime()) {
- Dart_Handle result = Loader::InitForSnapshot(script_uri, isolate_data);
- CHECK_RESULT(result);
- }
+ Dart_Handle result = Loader::InitForSnapshot(script_uri, isolate_data);
+ CHECK_RESULT(result);
#if !defined(DART_PRECOMPILED_RUNTIME)
if (is_main_isolate) {
// Find the canonical uri of the app snapshot. We'll use this to decide if
diff --git a/runtime/lib/isolate.cc b/runtime/lib/isolate.cc
index 4ed6bfe..b33315f 100644
--- a/runtime/lib/isolate.cc
+++ b/runtime/lib/isolate.cc
@@ -502,16 +502,6 @@
GET_NATIVE_ARGUMENT(String, packageConfig, arguments->NativeArgAt(10));
GET_NATIVE_ARGUMENT(String, debugName, arguments->NativeArgAt(11));
- if (Dart::vm_snapshot_kind() == Snapshot::kFullAOT) {
- const Array& args = Array::Handle(Array::New(1));
- args.SetAt(
- 0,
- String::Handle(String::New(
- "Isolate.spawnUri is not supported when using AOT compilation")));
- Exceptions::ThrowByType(Exceptions::kUnsupported, args);
- UNREACHABLE();
- }
-
bool fatal_errors = fatalErrors.IsNull() ? true : fatalErrors.value();
Dart_Port on_exit_port = onExit.IsNull() ? ILLEGAL_PORT : onExit.Id();
Dart_Port on_error_port = onError.IsNull() ? ILLEGAL_PORT : onError.Id();
diff --git a/runtime/observatory/lib/app.dart b/runtime/observatory/lib/app.dart
index f096ad8..ee1640b 100644
--- a/runtime/observatory/lib/app.dart
+++ b/runtime/observatory/lib/app.dart
@@ -28,4 +28,3 @@
part 'src/app/page.dart';
part 'src/app/settings.dart';
part 'src/app/view_model.dart';
-part 'src/app/analytics.dart';
diff --git a/runtime/observatory/lib/src/app/analytics.dart b/runtime/observatory/lib/src/app/analytics.dart
deleted file mode 100644
index a34c2da..0000000
--- a/runtime/observatory/lib/src/app/analytics.dart
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) 2015, 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.
-
-part of app;
-
-// TODO(eernst): Use 'bool.fromEnvironment' below when possible;
-// for now we use a dual `defaultValue` rewrite.
-const _obsVer = (String.fromEnvironment('OBS_VER', defaultValue: '1') ==
- String.fromEnvironment('OBS_VER', defaultValue: '2'))
- ? String.fromEnvironment('OBS_VER')
- : null;
-
-class Analytics {
- static final _UA = 'UA-26406144-17';
- static final _name = 'Observatory';
- static final _version = _obsVer;
- static final _googleAnalytics = new AnalyticsHtml(_UA, _name, _version);
-
- static initialize() {
- // We only send screen views. This is allowed without user permission.
- // Note, before flipping this to be true we need a UI to allow users to
- // control this.
- _googleAnalytics.analyticsOpt = AnalyticsOpt.optOut;
- }
-
- /// Called whenever an Observatory page is viewed.
- static Future reportPageView(Uri uri) {
- // Only report analytics when running in JavaScript.
- if (Utils.runningInJavaScript()) {
- // The screen name is the uri's path. e.g. inspect, profile.
- final screenName = uri.path;
- return _googleAnalytics.sendScreenView(screenName);
- } else {
- return new Future.value(null);
- }
- }
-}
diff --git a/runtime/observatory/lib/src/app/application.dart b/runtime/observatory/lib/src/app/application.dart
index d0fb87c..768c3b4 100644
--- a/runtime/observatory/lib/src/app/application.dart
+++ b/runtime/observatory/lib/src/app/application.dart
@@ -131,7 +131,6 @@
assert(app == null);
app = this;
_registerPages();
- Analytics.initialize();
// Visit the current page.
locationManager._visit();
}
diff --git a/runtime/observatory/lib/src/app/page.dart b/runtime/observatory/lib/src/app/page.dart
index e034bf9..a366acf 100644
--- a/runtime/observatory/lib/src/app/page.dart
+++ b/runtime/observatory/lib/src/app/page.dart
@@ -73,7 +73,6 @@
void visit(Uri uri, Map internalArguments) {
this.internalArguments.clear();
this.internalArguments.addAll(internalArguments);
- Analytics.reportPageView(uri);
_visit(uri);
}
diff --git a/runtime/observatory/observatory_sources.gni b/runtime/observatory/observatory_sources.gni
index 24e17ed..e78a449 100644
--- a/runtime/observatory/observatory_sources.gni
+++ b/runtime/observatory/observatory_sources.gni
@@ -21,7 +21,6 @@
"lib/service_html.dart",
"lib/service_io.dart",
"lib/src/allocation_profile/allocation_profile.dart",
- "lib/src/app/analytics.dart",
"lib/src/app/application.dart",
"lib/src/app/location_manager.dart",
"lib/src/app/notification.dart",
diff --git a/runtime/tests/vm/dart/appjit_spawnuri_test.dart b/runtime/tests/vm/dart/appjit_spawnuri_test.dart
deleted file mode 100644
index 88ea2fc..0000000
--- a/runtime/tests/vm/dart/appjit_spawnuri_test.dart
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) 2020, 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.
-
-// Verify that using spawnUri to spawn an isolate from app-jit snapshot works.
-
-import 'dart:io';
-import 'dart:isolate';
-
-import 'snapshot_test_helper.dart';
-
-Future<void> main() =>
- runAppJitTest(Platform.script.resolve('appjit_spawnuri_test_body.dart'),
- runSnapshot: (snapshotPath) async {
- final exitPort = ReceivePort();
- final messagePort = ReceivePort();
- await Isolate.spawnUri(Uri.file(snapshotPath), [], messagePort.sendPort,
- onExit: exitPort.sendPort);
- final result = await Future.wait([messagePort.first, exitPort.first]);
- print('DONE (${result[0]})');
- return Result('Isolate.spawnUri(${Uri.file(snapshotPath)})',
- ProcessResult(0, 0, result[0], ''));
- });
diff --git a/runtime/tests/vm/dart/appjit_spawnuri_test_body.dart b/runtime/tests/vm/dart/appjit_spawnuri_test_body.dart
deleted file mode 100644
index ce193aa..0000000
--- a/runtime/tests/vm/dart/appjit_spawnuri_test_body.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (c) 2020, 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.
-
-// Verify that using spawnUri to spawn an isolate from app-jit snapshot works.
-
-import 'dart:isolate';
-
-import 'package:expect/expect.dart';
-
-int computation(int n) =>
- List.generate(n, (i) => i == 0 ? 1 : 0).fold(0, (a, b) => a + b);
-
-Future<void> main(List<String> args, [dynamic sendPort]) async {
- final isTraining = args.contains('--train');
-
- var result = 0;
- for (var i = 0; i < 1000; i++) {
- result += computation(i);
- }
- Expect.equals(999, result);
- if (isTraining) {
- print('OK(Trained)');
- } else {
- (sendPort as SendPort).send('OK(Run)');
- }
-}
diff --git a/runtime/tests/vm/dart/spawnuri_snapshot_test.dart b/runtime/tests/vm/dart/spawnuri_snapshot_test.dart
new file mode 100644
index 0000000..f0ed02f
--- /dev/null
+++ b/runtime/tests/vm/dart/spawnuri_snapshot_test.dart
@@ -0,0 +1,34 @@
+// Copyright (c) 2020, 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.
+
+// Check spawnUri accepts any program format that `dart` accepts. Currently this
+// is source, kernel, AppJIT (blob container) and AppAOT (ELF).
+
+import "dart:isolate";
+import "dart:io";
+
+import "package:expect/expect.dart";
+
+int fib(int n) {
+ if (n <= 1) return 1;
+ return fib(n - 1) + fib(n - 2);
+}
+
+main(List<String> args, [dynamic sendPort]) {
+ if (sendPort == null) {
+ print("Parent start");
+ var port = new RawReceivePort();
+ port.handler = (result) {
+ Expect.equals(14930352, result);
+ port.close();
+ print("Parent end");
+ };
+ print("Spawn ${Platform.script}");
+ Isolate.spawnUri(Platform.script, <String>[], port.sendPort);
+ } else {
+ print("Child start");
+ sendPort.send(fib(35));
+ print("Child end");
+ }
+}
diff --git a/runtime/tests/vm/dart_2/appjit_spawnuri_test.dart b/runtime/tests/vm/dart_2/appjit_spawnuri_test.dart
deleted file mode 100644
index 88ea2fc..0000000
--- a/runtime/tests/vm/dart_2/appjit_spawnuri_test.dart
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) 2020, 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.
-
-// Verify that using spawnUri to spawn an isolate from app-jit snapshot works.
-
-import 'dart:io';
-import 'dart:isolate';
-
-import 'snapshot_test_helper.dart';
-
-Future<void> main() =>
- runAppJitTest(Platform.script.resolve('appjit_spawnuri_test_body.dart'),
- runSnapshot: (snapshotPath) async {
- final exitPort = ReceivePort();
- final messagePort = ReceivePort();
- await Isolate.spawnUri(Uri.file(snapshotPath), [], messagePort.sendPort,
- onExit: exitPort.sendPort);
- final result = await Future.wait([messagePort.first, exitPort.first]);
- print('DONE (${result[0]})');
- return Result('Isolate.spawnUri(${Uri.file(snapshotPath)})',
- ProcessResult(0, 0, result[0], ''));
- });
diff --git a/runtime/tests/vm/dart_2/appjit_spawnuri_test_body.dart b/runtime/tests/vm/dart_2/appjit_spawnuri_test_body.dart
deleted file mode 100644
index ce193aa..0000000
--- a/runtime/tests/vm/dart_2/appjit_spawnuri_test_body.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (c) 2020, 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.
-
-// Verify that using spawnUri to spawn an isolate from app-jit snapshot works.
-
-import 'dart:isolate';
-
-import 'package:expect/expect.dart';
-
-int computation(int n) =>
- List.generate(n, (i) => i == 0 ? 1 : 0).fold(0, (a, b) => a + b);
-
-Future<void> main(List<String> args, [dynamic sendPort]) async {
- final isTraining = args.contains('--train');
-
- var result = 0;
- for (var i = 0; i < 1000; i++) {
- result += computation(i);
- }
- Expect.equals(999, result);
- if (isTraining) {
- print('OK(Trained)');
- } else {
- (sendPort as SendPort).send('OK(Run)');
- }
-}
diff --git a/runtime/tests/vm/dart_2/spawnuri_snapshot_test.dart b/runtime/tests/vm/dart_2/spawnuri_snapshot_test.dart
new file mode 100644
index 0000000..f0ed02f
--- /dev/null
+++ b/runtime/tests/vm/dart_2/spawnuri_snapshot_test.dart
@@ -0,0 +1,34 @@
+// Copyright (c) 2020, 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.
+
+// Check spawnUri accepts any program format that `dart` accepts. Currently this
+// is source, kernel, AppJIT (blob container) and AppAOT (ELF).
+
+import "dart:isolate";
+import "dart:io";
+
+import "package:expect/expect.dart";
+
+int fib(int n) {
+ if (n <= 1) return 1;
+ return fib(n - 1) + fib(n - 2);
+}
+
+main(List<String> args, [dynamic sendPort]) {
+ if (sendPort == null) {
+ print("Parent start");
+ var port = new RawReceivePort();
+ port.handler = (result) {
+ Expect.equals(14930352, result);
+ port.close();
+ print("Parent end");
+ };
+ print("Spawn ${Platform.script}");
+ Isolate.spawnUri(Platform.script, <String>[], port.sendPort);
+ } else {
+ print("Child start");
+ sendPort.send(fib(35));
+ print("Child end");
+ }
+}
diff --git a/runtime/vm/compiler/assembler/disassembler_x86.cc b/runtime/vm/compiler/assembler/disassembler_x86.cc
index 3cc6713..16ce521 100644
--- a/runtime/vm/compiler/assembler/disassembler_x86.cc
+++ b/runtime/vm/compiler/assembler/disassembler_x86.cc
@@ -726,7 +726,7 @@
Print(",%d", imm8);
num_bytes++;
} else {
- ASSERT(op = 0xD2);
+ ASSERT(op == 0xD2);
Print(",cl");
}
return num_bytes;
diff --git a/runtime/vm/compiler/backend/range_analysis.cc b/runtime/vm/compiler/backend/range_analysis.cc
index 08b481f..a802eaa 100644
--- a/runtime/vm/compiler/backend/range_analysis.cc
+++ b/runtime/vm/compiler/backend/range_analysis.cc
@@ -2859,8 +2859,12 @@
}
void BinaryIntegerOpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
- InferRangeHelper(analysis->GetSmiRange(left()),
- analysis->GetSmiRange(right()), range);
+ auto const left_size =
+ RepresentationToRangeSize(RequiredInputRepresentation(0));
+ auto const right_size =
+ RepresentationToRangeSize(RequiredInputRepresentation(1));
+ InferRangeHelper(GetInputRange(analysis, left_size, left()),
+ GetInputRange(analysis, right_size, right()), range);
}
void BinarySmiOpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
diff --git a/runtime/vm/compiler/frontend/bytecode_reader.cc b/runtime/vm/compiler/frontend/bytecode_reader.cc
index ba1f36c..4d6eb95 100644
--- a/runtime/vm/compiler/frontend/bytecode_reader.cc
+++ b/runtime/vm/compiler/frontend/bytecode_reader.cc
@@ -213,6 +213,7 @@
i < function.NumParameters(); ++i) {
const intptr_t flags = reader_.ReadUInt();
if ((flags & Parameter::kIsRequiredFlag) != 0) {
+ RELEASE_ASSERT(i >= function.num_fixed_parameters());
function.SetIsRequiredAt(i);
}
}
@@ -610,6 +611,7 @@
for (intptr_t i = 0; i < num_flags; ++i) {
intptr_t flag = reader_.ReadUInt();
if ((flag & Parameter::kIsRequiredFlag) != 0) {
+ RELEASE_ASSERT(kImplicitClosureParam + i >= num_required_params);
func.SetIsRequiredAt(kImplicitClosureParam + i);
}
}
@@ -3072,6 +3074,7 @@
if (has_parameters_flags) {
const intptr_t num_params = reader_.ReadUInt();
const intptr_t num_implicit_params = function.NumImplicitParameters();
+ const intptr_t num_fixed_params = function.num_fixed_parameters();
for (intptr_t i = 0; i < num_params; ++i) {
const intptr_t flags = reader_.ReadUInt();
@@ -3081,6 +3084,7 @@
bool is_required = (flags & Parameter::kIsRequiredFlag) != 0;
if (is_required) {
+ RELEASE_ASSERT(num_implicit_params + i >= num_fixed_params);
function.SetIsRequiredAt(num_implicit_params + i);
}
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index 4f25c9f..2939eff 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -11,6 +11,7 @@
#include "vm/compiler/frontend/prologue_builder.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/object_store.h"
+#include "vm/resolver.h"
#include "vm/stack_frame.h"
namespace dart {
@@ -1632,20 +1633,13 @@
int argument_count,
const Array& argument_names) {
// Search the superclass chain for the selector.
- Function& function = Function::Handle(Z);
- Class& iterate_klass = Class::Handle(Z, klass.raw());
- while (!iterate_klass.IsNull()) {
- function = iterate_klass.LookupDynamicFunctionAllowPrivate(name);
- if (!function.IsNull()) {
- if (function.AreValidArguments(type_args_len, argument_count,
- argument_names,
- /* error_message = */ NULL)) {
- return function;
- }
- }
- iterate_klass = iterate_klass.SuperClass();
- }
- return Function::Handle();
+ ArgumentsDescriptor args_desc(
+ Array::Handle(Z, ArgumentsDescriptor::NewBoxed(
+ type_args_len, argument_count, argument_names)));
+ Function& function =
+ Function::Handle(Z, Resolver::ResolveDynamicForReceiverClassAllowPrivate(
+ klass, name, args_desc, /*allow_add=*/false));
+ return function;
}
bool StreamingFlowGraphBuilder::NeedsDebugStepCheck(const Function& function,
diff --git a/runtime/vm/compiler/frontend/kernel_translation_helper.cc b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
index fbaa46d..4812287 100644
--- a/runtime/vm/compiler/frontend/kernel_translation_helper.cc
+++ b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
@@ -3552,6 +3552,8 @@
// Read ith variable declaration.
VariableDeclarationHelper helper(helper_);
helper.ReadUntilExcluding(VariableDeclarationHelper::kType);
+ // The required flag should only be set on named parameters.
+ ASSERT(!helper.IsRequired());
const AbstractType& type = BuildTypeWithoutFinalization(); // read type.
Tag tag = helper_->ReadTag(); // read (first part of) initializer.
if (tag == kSomething) {
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index 118bf68..5d87370 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -2855,20 +2855,20 @@
return isolates_.IsEmpty() ? nullptr : isolates_.First();
}
-void IsolateGroup::RunWithStoppedMutators(
- std::function<void()> single_current_mutator,
- std::function<void()> otherwise,
+void IsolateGroup::RunWithStoppedMutatorsCallable(
+ Callable* single_current_mutator,
+ Callable* otherwise,
bool use_force_growth_in_otherwise) {
auto thread = Thread::Current();
if (thread->IsMutatorThread() && !FLAG_enable_isolate_groups) {
- single_current_mutator();
+ single_current_mutator->Call();
return;
}
if (thread->IsAtSafepoint()) {
RELEASE_ASSERT(safepoint_handler()->IsOwnedByTheThread(thread));
- single_current_mutator();
+ single_current_mutator->Call();
return;
}
@@ -2876,7 +2876,7 @@
SafepointReadRwLocker ml(thread, isolates_lock_.get());
const bool only_one_isolate = isolates_.First() == isolates_.Last();
if (thread->IsMutatorThread() && only_one_isolate) {
- single_current_mutator();
+ single_current_mutator->Call();
return;
}
}
@@ -2886,10 +2886,10 @@
// though we only need to ensure that the mutator threads are stopped.
if (use_force_growth_in_otherwise) {
ForceGrowthSafepointOperationScope safepoint_scope(thread);
- otherwise();
+ otherwise->Call();
} else {
SafepointOperationScope safepoint_scope(thread);
- otherwise();
+ otherwise->Call();
}
}
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index eb8d5cc..df4b9ab 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -128,6 +128,28 @@
DISALLOW_COPY_AND_ASSIGN(IsolateVisitor);
};
+class Callable : public ValueObject {
+ public:
+ Callable() {}
+ virtual ~Callable() {}
+
+ virtual void Call() = 0;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(Callable);
+};
+
+template <typename T>
+class LambdaCallable : public Callable {
+ public:
+ explicit LambdaCallable(T& lambda) : lambda_(lambda) {}
+ void Call() { lambda_(); }
+
+ private:
+ T& lambda_;
+ DISALLOW_COPY_AND_ASSIGN(LambdaCallable);
+};
+
// Disallow OOB message handling within this scope.
class NoOOBMessageScope : public ThreadStackResource {
public:
@@ -453,13 +475,25 @@
//
// During the duration of this function, no new isolates can be added to the
// isolate group.
- void RunWithStoppedMutators(std::function<void()> single_current_mutator,
- std::function<void()> otherwise,
- bool use_force_growth_in_otherwise = false);
+ void RunWithStoppedMutatorsCallable(
+ Callable* single_current_mutator,
+ Callable* otherwise,
+ bool use_force_growth_in_otherwise = false);
- void RunWithStoppedMutators(std::function<void()> function,
- bool use_force_growth = false) {
- RunWithStoppedMutators(function, function, use_force_growth);
+ template <typename T, typename S>
+ void RunWithStoppedMutators(T single_current_mutator,
+ S otherwise,
+ bool use_force_growth_in_otherwise = false) {
+ LambdaCallable<T> single_callable(single_current_mutator);
+ LambdaCallable<S> otherwise_callable(otherwise);
+ RunWithStoppedMutatorsCallable(&single_callable, &otherwise_callable,
+ use_force_growth_in_otherwise);
+ }
+
+ template <typename T>
+ void RunWithStoppedMutators(T function, bool use_force_growth = false) {
+ LambdaCallable<T> callable(function);
+ RunWithStoppedMutatorsCallable(&callable, &callable, use_force_growth);
}
#ifndef PRODUCT
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc
index b9ccfa0..786c2ed 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -1269,16 +1269,22 @@
// Copy the size table for isolate group.
intptr_t* saved_size_table = nullptr;
shared_class_table_->CopyBeforeHotReload(&saved_size_table, &saved_num_cids_);
+
+ Thread* thread = Thread::Current();
{
- NoSafepointScope no_safepoint_scope(Thread::Current());
+ NoSafepointScope no_safepoint_scope(thread);
// The saved_size_table_ will now become source of truth for GC.
saved_size_table_.store(saved_size_table, std::memory_order_release);
-
- // We can therefore wipe out all of the old entries (if that table is used
- // for GC during the hot-reload we have a bug).
- shared_class_table_->ResetBeforeHotReload();
}
+
+ // But the concurrent sweeper may still be reading from the old table.
+ thread->heap()->WaitForSweeperTasks(thread);
+
+ // Now we can clear the old table. This satisfies asserts during class
+ // registration and encourages fast failure if we use the wrong table
+ // for GC during reload, but isn't strictly needed for correctness.
+ shared_class_table_->ResetBeforeHotReload();
}
void IsolateReloadContext::CheckpointClasses() {
diff --git a/runtime/vm/resolver.cc b/runtime/vm/resolver.cc
index 68a1e4d..8e2c533 100644
--- a/runtime/vm/resolver.cc
+++ b/runtime/vm/resolver.cc
@@ -30,40 +30,12 @@
return ResolveDynamicForReceiverClass(cls, function_name, args_desc);
}
-FunctionPtr Resolver::ResolveDynamicForReceiverClass(
+static FunctionPtr ResolveDynamicAnyArgsWithCustomLookup(
+ Zone* zone,
const Class& receiver_class,
const String& function_name,
- const ArgumentsDescriptor& args_desc,
- bool allow_add) {
- Thread* thread = Thread::Current();
- Zone* zone = thread->zone();
-
- Function& function = Function::Handle(
- zone,
- ResolveDynamicAnyArgs(zone, receiver_class, function_name, allow_add));
-
- if (function.IsNull() || !function.AreValidArguments(args_desc, NULL)) {
- // Return a null function to signal to the upper levels to dispatch to
- // "noSuchMethod" function.
- if (FLAG_trace_resolving) {
- String& error_message =
- String::Handle(zone, Symbols::New(thread, "function not found"));
- if (!function.IsNull()) {
- // Obtain more detailed error message.
- function.AreValidArguments(args_desc, &error_message);
- }
- THR_Print("ResolveDynamic error '%s': %s.\n", function_name.ToCString(),
- error_message.ToCString());
- }
- return Function::null();
- }
- return function.raw();
-}
-
-FunctionPtr Resolver::ResolveDynamicAnyArgs(Zone* zone,
- const Class& receiver_class,
- const String& function_name,
- bool allow_add) {
+ bool allow_add,
+ std::function<FunctionPtr(Class&, const String&)> lookup) {
Class& cls = Class::Handle(zone, receiver_class.raw());
if (FLAG_trace_resolving) {
THR_Print("ResolveDynamic '%s' for class %s\n", function_name.ToCString(),
@@ -95,7 +67,7 @@
}
if (!function.IsNull()) return function.raw();
- function = cls.LookupDynamicFunction(demangled);
+ function = lookup(cls, demangled);
#if !defined(DART_PRECOMPILED_RUNTIME)
// In JIT we might need to lazily create a dyn:* forwarder.
if (is_dyn_call && !function.IsNull()) {
@@ -126,6 +98,76 @@
return function.raw();
}
+static FunctionPtr ResolveDynamicForReceiverClassWithCustomLookup(
+ const Class& receiver_class,
+ const String& function_name,
+ const ArgumentsDescriptor& args_desc,
+ bool allow_add,
+ std::function<FunctionPtr(Class&, const String&)> lookup) {
+ Thread* thread = Thread::Current();
+ Zone* zone = thread->zone();
+
+ Function& function = Function::Handle(
+ zone, ResolveDynamicAnyArgsWithCustomLookup(
+ zone, receiver_class, function_name, allow_add, lookup));
+
+ if (function.IsNull() || !function.AreValidArguments(args_desc, NULL)) {
+ // Return a null function to signal to the upper levels to dispatch to
+ // "noSuchMethod" function.
+ if (FLAG_trace_resolving) {
+ String& error_message =
+ String::Handle(zone, Symbols::New(thread, "function not found"));
+ if (!function.IsNull()) {
+ // Obtain more detailed error message.
+ function.AreValidArguments(args_desc, &error_message);
+ }
+ THR_Print("ResolveDynamic error '%s': %s.\n", function_name.ToCString(),
+ error_message.ToCString());
+ }
+ return Function::null();
+ }
+ return function.raw();
+}
+
+FunctionPtr Resolver::ResolveDynamicForReceiverClass(
+ const Class& receiver_class,
+ const String& function_name,
+ const ArgumentsDescriptor& args_desc,
+ bool allow_add) {
+ return ResolveDynamicForReceiverClassWithCustomLookup(
+ receiver_class, function_name, args_desc, allow_add,
+ &Class::LookupDynamicFunction);
+}
+
+FunctionPtr Resolver::ResolveDynamicForReceiverClassAllowPrivate(
+ const Class& receiver_class,
+ const String& function_name,
+ const ArgumentsDescriptor& args_desc,
+ bool allow_add) {
+ return ResolveDynamicForReceiverClassWithCustomLookup(
+ receiver_class, function_name, args_desc, allow_add,
+ &Class::LookupDynamicFunctionAllowPrivate);
+}
+
+FunctionPtr Resolver::ResolveDynamicAnyArgs(Zone* zone,
+ const Class& receiver_class,
+ const String& function_name,
+ bool allow_add) {
+ return ResolveDynamicAnyArgsWithCustomLookup(
+ zone, receiver_class, function_name, allow_add,
+ std::mem_fn(&Class::LookupDynamicFunctionAllowPrivate));
+}
+
+FunctionPtr Resolver::ResolveDynamicAnyArgsAllowPrivate(
+ Zone* zone,
+ const Class& receiver_class,
+ const String& function_name,
+ bool allow_add) {
+ return ResolveDynamicAnyArgsWithCustomLookup(
+ zone, receiver_class, function_name, allow_add,
+ std::mem_fn(&Class::LookupDynamicFunctionAllowPrivate));
+}
+
FunctionPtr Resolver::ResolveStatic(const Library& library,
const String& class_name,
const String& function_name,
diff --git a/runtime/vm/resolver.h b/runtime/vm/resolver.h
index 0d9f8a9..e440c24 100644
--- a/runtime/vm/resolver.h
+++ b/runtime/vm/resolver.h
@@ -33,12 +33,22 @@
const String& function_name,
const ArgumentsDescriptor& args_desc,
bool allow_add = true);
+ static FunctionPtr ResolveDynamicForReceiverClassAllowPrivate(
+ const Class& receiver_class,
+ const String& function_name,
+ const ArgumentsDescriptor& args_desc,
+ bool allow_add);
// If 'allow_add' is true we may add a function to the class during lookup.
static FunctionPtr ResolveDynamicAnyArgs(Zone* zone,
const Class& receiver_class,
const String& function_name,
bool allow_add = true);
+ static FunctionPtr ResolveDynamicAnyArgsAllowPrivate(
+ Zone* zone,
+ const Class& receiver_class,
+ const String& function_name,
+ bool allow_add);
// Resolve specified dart static function. If library.IsNull, use
// either application library or core library if no application library
diff --git a/runtime/vm/runtime_entry.h b/runtime/vm/runtime_entry.h
index 1b35e0e..bede33e 100644
--- a/runtime/vm/runtime_entry.h
+++ b/runtime/vm/runtime_entry.h
@@ -85,6 +85,15 @@
} while (0)
#endif
+#if defined(USING_SIMULATOR)
+#define CHECK_SIMULATOR_STACK_OVERFLOW() \
+ if (!OSThread::Current()->HasStackHeadroom()) { \
+ Exceptions::ThrowStackOverflow(); \
+ }
+#else
+#define CHECK_SIMULATOR_STACK_OVERFLOW()
+#endif // defined(USING_SIMULATOR)
+
// Helper macros for declaring and defining runtime entries.
#define DEFINE_RUNTIME_ENTRY(name, argument_count) \
@@ -106,6 +115,7 @@
TransitionGeneratedToVM transition(thread); \
StackZone zone(thread); \
HANDLESCOPE(thread); \
+ CHECK_SIMULATOR_STACK_OVERFLOW(); \
DRT_Helper##name(isolate, thread, zone.GetZone(), arguments); \
} \
} \
diff --git a/runtime/vm/timeline_android.cc b/runtime/vm/timeline_android.cc
index 0a97b1d..046d0a2 100644
--- a/runtime/vm/timeline_android.cc
+++ b/runtime/vm/timeline_android.cc
@@ -10,6 +10,7 @@
#include <cstdlib>
#include "platform/atomic.h"
+#include "platform/signal_blocker.h"
#include "vm/isolate.h"
#include "vm/json_stream.h"
#include "vm/lockers.h"
@@ -23,16 +24,25 @@
DECLARE_FLAG(bool, trace_timeline);
-TimelineEventSystraceRecorder::TimelineEventSystraceRecorder()
- : TimelineEventPlatformRecorder(), systrace_fd_(-1) {
- const char* kSystracePath = "/sys/kernel/debug/tracing/trace_marker";
- systrace_fd_ = open(kSystracePath, O_WRONLY);
- if ((systrace_fd_ < 0) && FLAG_trace_timeline) {
- OS::PrintErr("TimelineEventSystraceRecorder: Could not open `%s`\n",
- kSystracePath);
+static int OpenTraceFD() {
+ const char* kSystraceDebugPath = "/sys/kernel/debug/tracing/trace_marker";
+ const char* kSystracePath = "/sys/kernel/tracing/trace_marker";
+
+ int fd = TEMP_FAILURE_RETRY(::open(kSystracePath, O_WRONLY));
+ if (fd < 0) {
+ fd = TEMP_FAILURE_RETRY(::open(kSystraceDebugPath, O_WRONLY));
}
+
+ if (fd < 0 && FLAG_trace_timeline) {
+ OS::PrintErr("TimelineEventSystraceRecorder: Could not open `%s` or `%s`\n",
+ kSystraceDebugPath, kSystracePath);
+ }
+ return fd;
}
+TimelineEventSystraceRecorder::TimelineEventSystraceRecorder()
+ : TimelineEventPlatformRecorder(), systrace_fd_(OpenTraceFD()) {}
+
TimelineEventSystraceRecorder::~TimelineEventSystraceRecorder() {
if (systrace_fd_ >= 0) {
close(systrace_fd_);
diff --git a/runtime/vm/timeline_linux.cc b/runtime/vm/timeline_linux.cc
index dc45ffb..3756f16 100644
--- a/runtime/vm/timeline_linux.cc
+++ b/runtime/vm/timeline_linux.cc
@@ -75,6 +75,16 @@
}
break;
}
+ case TimelineEvent::kAsyncBegin: {
+ length = Utils::SNPrint(buffer, buffer_size, "S|%" Pd64 "|%s|%" Pd64 "",
+ pid, event->label(), event->AsyncId());
+ break;
+ }
+ case TimelineEvent::kAsyncEnd: {
+ length = Utils::SNPrint(buffer, buffer_size, "F|%" Pd64 "|%s|%" Pd64 "",
+ pid, event->label(), event->AsyncId());
+ break;
+ }
default:
// Ignore event types that we cannot serialize to the Systrace format.
break;
diff --git a/sdk/lib/_internal/allowed_experiments.json b/sdk/lib/_internal/allowed_experiments.json
index bbe8144..235e683 100644
--- a/sdk/lib/_internal/allowed_experiments.json
+++ b/sdk/lib/_internal/allowed_experiments.json
@@ -49,6 +49,9 @@
"fake_async": {
"experimentSet": "nullSafety"
},
+ "file": {
+ "experimentSet": "nullSafety"
+ },
"fixnum": {
"experimentSet": "nullSafety"
},
@@ -58,6 +61,12 @@
"flutter_test": {
"experimentSet": "nullSafety"
},
+ "flutter_goldens": {
+ "experimentSet": "nullSafety"
+ },
+ "flutter_goldens_client": {
+ "experimentSet": "nullSafety"
+ },
"js": {
"experimentSet": "nullSafety"
},
@@ -73,9 +82,15 @@
"pedantic": {
"experimentSet": "nullSafety"
},
+ "platform": {
+ "experimentSet": "nullSafety"
+ },
"pool": {
"experimentSet": "nullSafety"
},
+ "process": {
+ "experimentSet": "nullSafety"
+ },
"sky_engine": {
"experimentSet": "nullSafety"
},
diff --git a/sdk/lib/_internal/js_dev_runtime/private/js_number.dart b/sdk/lib/_internal/js_dev_runtime/private/js_number.dart
index d2b9661..fcaa2cd 100644
--- a/sdk/lib/_internal/js_dev_runtime/private/js_number.dart
+++ b/sdk/lib/_internal/js_dev_runtime/private/js_number.dart
@@ -141,7 +141,7 @@
double toDouble() => this;
@notNull
- String toStringAsFixed(@notNull int fractionDigits) {
+ String toStringAsFixed(@nullCheck int fractionDigits) {
if (fractionDigits < 0 || fractionDigits > 20) {
throw RangeError.range(fractionDigits, 0, 20, "fractionDigits");
}
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index 7e3b6f1..b1a7f44 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -1518,7 +1518,7 @@
}
}
-class NullError extends Error implements NoSuchMethodError {
+class NullError extends TypeError implements NoSuchMethodError {
final String _message;
final String? _method;
diff --git a/tests/co19/co19-co19.status b/tests/co19/co19-co19.status
index d389741..6740112 100644
--- a/tests/co19/co19-co19.status
+++ b/tests/co19/co19-co19.status
@@ -52,6 +52,8 @@
LanguageFeatures/regression/*: Skip # Not migrated to NNBD
LibTest/collection/ListBase/*: Skip # Not migrated to NNBD
LibTest/collection/ListMixin/*: Skip # Not migrated to NNBD
+LibTest/core/CyclicInitializationError/*: Skip # Not migrated to NNBD
+LibTest/core/int/*: Skip # Not migrated to NNBD
LibTest/convert/AsciiCodec/*: Skip # Not migrated to NNBD
LibTest/convert/AsciiDecoder/*: Skip # Not migrated to NNBD
LibTest/convert/AsciiEncoder/*: Skip # Not migrated to NNBD
@@ -76,55 +78,6 @@
LibTest/convert/Utf8Codec/*: Skip # Not migrated to NNBD
LibTest/convert/Utf8Decoder/*: Skip # Not migrated to NNBD
LibTest/convert/Utf8Encoder/*: Skip # Not migrated to NNBD
-LibTest/core/AbstractClassInstantiationError/*: Skip # Not migrated to NNBD
-LibTest/core/ArgumentError/*: Skip # Not migrated to NNBD
-LibTest/core/AssertionError/*: Skip # Not migrated to NNBD
-LibTest/core/BidirectionalIterator/*: Skip # Not migrated to NNBD
-LibTest/core/CastError/*: Skip # Not migrated to NNBD
-LibTest/core/ConcurrentModificationError/*: Skip # Not migrated to NNBD
-LibTest/core/CyclicInitializationError/*: Skip # Not migrated to NNBD
-LibTest/core/DateTime/*: Skip # Not migrated to NNBD
-LibTest/core/Deprecated/*: Skip # Not migrated to NNBD
-LibTest/core/Duration/*: Skip # Not migrated to NNBD
-LibTest/core/Error/*: Skip # Not migrated to NNBD
-LibTest/core/Exception/*: Skip # Not migrated to NNBD
-LibTest/core/Expando/*: Skip # Not migrated to NNBD
-LibTest/core/FallThroughError/*: Skip # Not migrated to NNBD
-LibTest/core/FormatException/*: Skip # Not migrated to NNBD
-LibTest/core/Function/*: Skip # Not migrated to NNBD
-LibTest/core/IndexError/*: Skip # Not migrated to NNBD
-LibTest/core/IntegerDivisionByZeroException/*: Skip # Not migrated to NNBD
-LibTest/core/Invocation/*: Skip # Not migrated to NNBD
-LibTest/core/Iterable/*: Skip # Not migrated to NNBD
-LibTest/core/Iterator/*: Skip # Not migrated to NNBD
-LibTest/core/List/*: Skip # Not migrated to NNBD
-LibTest/core/Map/*: Skip # Not migrated to NNBD
-LibTest/core/Match/*: Skip # Not migrated to NNBD
-LibTest/core/NoSuchMethodError/*: Skip # Not migrated to NNBD
-LibTest/core/Null/*: Skip # Not migrated to NNBD
-LibTest/core/Object/*: Skip # Not migrated to NNBD
-LibTest/core/OutOfMemoryError/*: Skip # Not migrated to NNBD
-LibTest/core/RangeError/*: Skip # Not migrated to NNBD
-LibTest/core/RegExp/*: Skip # Not migrated to NNBD
-LibTest/core/RegExp/Pattern_semantics/*: Skip # Not migrated to NNBD
-LibTest/core/RuneIterator/*: Skip # Not migrated to NNBD
-LibTest/core/Runes/*: Skip # Not migrated to NNBD
-LibTest/core/Set/*: Skip # Not migrated to NNBD
-LibTest/core/StackOverflowError/*: Skip # Not migrated to NNBD
-LibTest/core/StackTrace/*: Skip # Not migrated to NNBD
-LibTest/core/StateError/*: Skip # Not migrated to NNBD
-LibTest/core/Stopwatch/*: Skip # Not migrated to NNBD
-LibTest/core/String/*: Skip # Not migrated to NNBD
-LibTest/core/StringBuffer/*: Skip # Not migrated to NNBD
-LibTest/core/Symbol/*: Skip # Not migrated to NNBD
-LibTest/core/TypeError/*: Skip # Not migrated to NNBD
-LibTest/core/UnimplementedError/*: Skip # Not migrated to NNBD
-LibTest/core/UnsupportedError/*: Skip # Not migrated to NNBD
-LibTest/core/Uri/*: Skip # Not migrated to NNBD
-LibTest/core/UriData/*: Skip # Not migrated to NNBD
-LibTest/core/bool/*: Skip # Not migrated to NNBD
-LibTest/core/double/*: Skip # Not migrated to NNBD
-LibTest/core/int/*: Skip # Not migrated to NNBD
LibTest/html/CanvasRenderingContext2D/*: Skip # Not migrated to NNBD
LibTest/html/Document/*: Skip # Not migrated to NNBD
LibTest/html/Element/*: Skip # Not migrated to NNBD
diff --git a/tests/co19/co19-dart2js.status b/tests/co19/co19-dart2js.status
index d6f8c83..d591e6e 100644
--- a/tests/co19/co19-dart2js.status
+++ b/tests/co19/co19-dart2js.status
@@ -19,6 +19,17 @@
Language/Expressions/Spawning_an_Isolate/new_isolate_t01: SkipByDesign
Language/Metadata/before*: Skip # dart:mirrors not supported https://github.com/dart-lang/co19/issues/523.
Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t08: SkipByDesign # binary '~' produces different results in JavaScript and Dart
+LibTest/core/DateTime/DateTime.fromMicrosecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/microsecond_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/microsecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/parse_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t02: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/int/operator_remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
+LibTest/core/int/operator_truncating_division_A01_t02: SkipByDesign # Division by zero is not an error in JavaScript
+LibTest/core/int/parse_A01_t02: SkipByDesign # big integers cannot be represented in JavaScript
+LibTest/core/int/remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
LibTest/io/*: SkipByDesign # dart:io not supported.
LibTest/isolate/*: SkipByDesign # dart:isolate not supported.
diff --git a/tests/co19/co19-dartdevc.status b/tests/co19/co19-dartdevc.status
index 08f3b56..9adbeb6 100644
--- a/tests/co19/co19-dartdevc.status
+++ b/tests/co19/co19-dartdevc.status
@@ -72,6 +72,17 @@
Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t08: SkipByDesign # binary '~' produces different results in JavaScript and Dart
Language/Types/Interface_Types/subtype_t27: Skip # Times out
Language/Types/Interface_Types/subtype_t28: Skip # Times out
+LibTest/core/DateTime/DateTime.fromMicrosecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/microsecond_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/microsecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/parse_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t02: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/DateTime/to8601String_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
+LibTest/core/int/operator_remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
+LibTest/core/int/operator_truncating_division_A01_t02: SkipByDesign # Division by zero is not an error in JavaScript
+LibTest/core/int/parse_A01_t02: SkipByDesign # big integers cannot be represented in JavaScript
+LibTest/core/int/remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t03: Skip # Times out
LibTest/html/Element/blur_A01_t01: Skip # Times out
LibTest/html/Element/focus_A01_t01: Skip # Times out
diff --git a/tests/lib/html/js_typed_interop_type_test.dart b/tests/lib/html/js_typed_interop_type_test.dart
index c3967b5..ba1f2da 100644
--- a/tests/lib/html/js_typed_interop_type_test.dart
+++ b/tests/lib/html/js_typed_interop_type_test.dart
@@ -26,7 +26,7 @@
@JS()
@anonymous
class C {
- late final foo;
+ final foo;
external factory C({foo});
}
@@ -34,7 +34,7 @@
@JS()
@anonymous
class D {
- late final foo;
+ final foo;
external factory D({foo});
}
diff --git a/tests/standalone_2/standalone_2.status b/tests/standalone_2/standalone_2.status
index d0291cb..e9477e1 100644
--- a/tests/standalone_2/standalone_2.status
+++ b/tests/standalone_2/standalone_2.status
@@ -98,13 +98,3 @@
io/many_file_operations_test: SkipSlow
package/*: SkipByDesign # Launches VMs in interesting ways.
typed_data_isolate_test: SkipSlow
-
-[ $system == fuchsia ]
-# Fuchsia test runner doesn't support multi-tests yet.
-deny_listed_test: Skip
-io/dart_std_io_pipe_test: Skip
-io/platform_resolved_executable_test: Skip
-io/signals_exception_test: Skip
-io/socket_ipv6_test: Skip
-package/invalid_uri_test: Skip
-regress_29350_test: Skip
diff --git a/tools/VERSION b/tools/VERSION
index df8f5d5..7e59cc4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -33,7 +33,7 @@
MAJOR 2
MINOR 10
PATCH 0
-PRERELEASE 3
+PRERELEASE 4
PRERELEASE_PATCH 0
ABI_VERSION 39
OLDEST_SUPPORTED_ABI_VERSION 39
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 60bc284..512d8a3 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -2571,20 +2571,28 @@
]
},
{
- "name": "dart2js nnbd weak tests",
+ "name": "dart2js nnbd weak d8 tests",
"arguments": [
"-ndart2js-hostasserts-weak-linux-x64-d8",
"--dart2js-batch",
"language",
- "corelib",
- "dart2js",
- "kernel"
+ "corelib"
],
"shards": 6,
"fileset": "web_platform_hostasserts_nnbd"
},
{
- "name": "dart2js legacy weak lib tests",
+ "name": "dart2js nnbd weak chrome tests",
+ "arguments": [
+ "-ndart2js-hostasserts-weak-linux-x64-chrome",
+ "--dart2js-batch",
+ "dart2js"
+ ],
+ "shards": 3,
+ "fileset": "web_platform_hostasserts_nnbd"
+ },
+ {
+ "name": "dart2js nnbd weak lib tests",
"arguments": [
"-ndart2js-hostasserts-weak-linux-x64-chrome",
"--dart2js-batch",
@@ -2594,7 +2602,7 @@
"fileset": "web_platform_hostasserts_nnbd"
},
{
- "name": "dart2js legacy weak co19 tests",
+ "name": "dart2js nnbd weak co19 tests",
"arguments": [
"-ndart2js-hostasserts-weak-linux-x64-chrome",
"--dart2js-batch",
@@ -2604,19 +2612,27 @@
"fileset": "web_platform_hostasserts_nnbd"
},
{
- "name": "dart2js nnbd strong tests",
+ "name": "dart2js nnbd strong d8 tests",
"arguments": [
"-ndart2js-hostasserts-strong-linux-x64-d8",
"--dart2js-batch",
"language",
- "corelib",
- "dart2js",
- "kernel"
+ "corelib"
],
"shards": 6,
"fileset": "web_platform_hostasserts_nnbd"
},
{
+ "name": "dart2js nnbd strong chrome tests",
+ "arguments": [
+ "-ndart2js-hostasserts-strong-linux-x64-chrome",
+ "--dart2js-batch",
+ "dart2js"
+ ],
+ "shards": 3,
+ "fileset": "web_platform_hostasserts_nnbd"
+ },
+ {
"name": "dart2js nnbd strong lib tests",
"arguments": [
"-ndart2js-hostasserts-strong-linux-x64-chrome",
diff --git a/tools/bots/try_benchmarks.sh b/tools/bots/try_benchmarks.sh
index 7241cb5..920e30a 100755
--- a/tools/bots/try_benchmarks.sh
+++ b/tools/bots/try_benchmarks.sh
@@ -179,7 +179,6 @@
out/ReleaseIA32/dart pkg/front_end/tool/perf.dart scan hello.dart
out/ReleaseIA32/dart pkg/front_end/tool/fasta_perf.dart kernel_gen_e2e hello.dart
out/ReleaseIA32/dart pkg/front_end/tool/fasta_perf.dart scan hello.dart
- out/ReleaseIA32/dart-sdk/bin/dart --print_metrics pkg/analyzer_cli/bin/analyzer.dart --dart-sdk=sdk hello.dart
out/ReleaseIA32/run_vm_tests --dfe=out/ReleaseIA32/kernel-service.dart.snapshot InitialRSS
out/ReleaseIA32/run_vm_tests --dfe=out/ReleaseIA32/kernel-service.dart.snapshot --sound-null-safety --enable-experiment=non-nullable InitialRSS
out/ReleaseIA32/run_vm_tests --dfe=out/ReleaseIA32/kernel-service.dart.snapshot GenKernelKernelLoadKernel
@@ -355,7 +354,6 @@
out/ReleaseX64/dart pkg/front_end/tool/fasta_perf.dart kernel_gen_e2e hello.dart
out/ReleaseX64/dart pkg/front_end/tool/fasta_perf.dart scan hello.dart
out/ReleaseX64/dart-sdk/bin/dart pkg/analysis_server/benchmark/benchmarks.dart run --quick --repeat 1 analysis-server-cold
- out/ReleaseX64/dart-sdk/bin/dart --print_metrics pkg/analyzer_cli/bin/analyzer.dart --dart-sdk=sdk hello.dart
echo '[{"name":"foo","edits":[["pkg/compiler/lib/src/dart2js.dart","2016","2017"],["pkg/compiler/lib/src/options.dart","2016","2017"]]}]' > appjit_train_edits.json
out/ReleaseX64/dart --background-compilation=false --snapshot-kind=app-jit --snapshot=pkg/front_end/tool/incremental_perf.dart.appjit pkg/front_end/tool/incremental_perf.dart --target=vm --sdk-summary=out/ReleaseX64/vm_platform_strong.dill --sdk-library-specification=sdk/lib/libraries.json pkg/compiler/lib/src/dart2js.dart appjit_train_edits.json
out/ReleaseX64/dart --background-compilation=false pkg/front_end/tool/incremental_perf.dart.appjit --target=vm --sdk-summary=out/ReleaseX64/vm_platform_strong.dill --sdk-library-specification=sdk/lib/libraries.json pkg/front_end/benchmarks/ikg/hello.dart pkg/front_end/benchmarks/ikg/hello.edits.json
diff --git a/utils/application_snapshot.gni b/utils/application_snapshot.gni
index 7d981bd..81ec5ee 100644
--- a/utils/application_snapshot.gni
+++ b/utils/application_snapshot.gni
@@ -134,6 +134,7 @@
args += [ rebase_path(main_dart) ]
}
+ # Create a snapshot from kernel built above.
dart_action(target_name) {
deps = extra_deps + [ ":${target_name}_dill" ]
depfile = "$output.d"
@@ -144,6 +145,10 @@
outputs = [ output ]
+ # Explicitly set DFE so Dart doesn't implicitly depend on the kernel service
+ # snapshot (creating a circular dep. for kernel-service_snapshot).
+ dfe = "$_dart_root/pkg/vm/bin/kernel_service.dart"
+
abs_depfile = rebase_path(depfile)
abs_output = rebase_path(output, root_build_dir)