Use files for contextFor() and driverFor() in analyzer tests.
Change-Id: Ib0ba87c6136a3204ce784cf6a8c252fdcb67d509
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252411
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/test/dart/analysis/analysis_context_test.dart b/pkg/analyzer/test/dart/analysis/analysis_context_test.dart
index 89e9c91..d3be662 100644
--- a/pkg/analyzer/test/dart/analysis/analysis_context_test.dart
+++ b/pkg/analyzer/test/dart/analysis/analysis_context_test.dart
@@ -24,7 +24,7 @@
var c = newFile('$testPackageLibPath/c.dart', '');
- var analysisContext = contextFor(a.path);
+ var analysisContext = contextFor(a);
// Ask for files, so that they are known.
var analysisSession = analysisContext.currentSession;
@@ -55,7 +55,7 @@
var d = newFile('$testPackageLibPath/d.dart', '');
- var analysisContext = contextFor(a.path);
+ var analysisContext = contextFor(a);
// Ask for files, so that they are known.
var analysisSession = analysisContext.currentSession;
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
index a35c8e2..792f4eb 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
@@ -29,7 +29,7 @@
bool get retainDataForTesting => true;
List<Set<String>> get _linkedCycles {
- var driver = driverFor(testFile.path);
+ var driver = driverFor(testFile);
return driver.testView!.libraryContext.linkedCycles;
}
@@ -82,7 +82,7 @@
}
''');
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
analysisDriver.changeFile(testFile.path);
await analysisDriver.applyPendingFileChanges();
@@ -101,7 +101,7 @@
}
''');
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
analysisDriver.changeFile(testFile.path);
await analysisDriver.applyPendingFileChanges();
@@ -120,7 +120,7 @@
}
''');
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
analysisDriver.changeFile(testFile.path);
await analysisDriver.applyPendingFileChanges();
@@ -214,7 +214,7 @@
import 'a.dart';
''');
- var driver = driverFor(testFile.path);
+ var driver = driverFor(testFile);
// Link both libraries, keep them.
await driver.getLibraryByUri('package:test/a.dart');
@@ -370,7 +370,7 @@
export 'a.dart';
''');
- final analysisContext = contextFor(macroFile.path);
+ final analysisContext = contextFor(macroFile);
Future<LibraryElement> getLibrary(String uriStr) async {
final result = await analysisContext.currentSession
@@ -445,8 +445,8 @@
void f(MacroA a) {}
''');
- var analysisContext = contextFor(a.path);
- var analysisDriver = driverFor(a.path);
+ var analysisContext = contextFor(a);
+ var analysisDriver = driverFor(a);
var userErrors = analysisDriver.results
.whereType<ErrorsResult>()
@@ -503,8 +503,8 @@
void f(MacroA a) {}
''');
- var analysisContext = contextFor(a.path);
- var analysisDriver = driverFor(a.path);
+ var analysisContext = contextFor(a);
+ var analysisDriver = driverFor(a);
var userErrors = analysisDriver.results
.whereType<ErrorsResult>()
@@ -542,8 +542,8 @@
void f(MacroA a) {}
''');
- var analysisContext = contextFor(user.path);
- var analysisDriver = driverFor(user.path);
+ var analysisContext = contextFor(user);
+ var analysisDriver = driverFor(user);
var userErrors = analysisDriver.results
.whereType<ErrorsResult>()
@@ -605,7 +605,7 @@
''');
// Notify about changes.
- var analysisContext = contextFor(a.path);
+ var analysisContext = contextFor(a);
analysisContext.changeFile(a.path);
await analysisContext.applyPendingFileChanges();
@@ -645,7 +645,7 @@
/// But this method is used to check returning errors from the cache, or
/// recomputing when the cache key is expected to be different.
Future<List<AnalysisError>> _computeTestFileErrors() async {
- var errorsResult = await contextFor(testFile.path)
+ var errorsResult = await contextFor(testFile)
.currentSession
.getErrors(testFile.path) as ErrorsResult;
return errorsResult.errors;
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
index 061e109..94928cc 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
@@ -282,7 +282,7 @@
''');
// Make sure that the part knows its library.
- contextFor(a.path).currentSession.getParsedUnit(a.path);
+ contextFor(a).currentSession.getParsedUnit(a.path);
await resolveTestFile();
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
index 4f3b079..c022aa3 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -58,15 +58,14 @@
void test_nestedLib_notCanonicalUri() async {
var outerLibPath = '$workspaceRootPath/my/outer/lib';
- var innerPath = convertPath('$outerLibPath/inner/lib/b.dart');
+ var innerFile = newFile('$outerLibPath/inner/lib/b.dart', 'class B {}');
var innerUri = Uri.parse('package:my.outer.lib.inner/b.dart');
- newFile(innerPath, 'class B {}');
- var analysisSession = contextFor(innerPath).currentSession;
+ var analysisSession = contextFor(innerFile).currentSession;
void assertInnerUri(ResolvedUnitResult result) {
var innerLibrary = result.libraryElement.importedLibraries
- .where((e) => e.source.fullName == innerPath)
+ .where((e) => e.source.fullName == innerFile.path)
.single;
expect(innerLibrary.source.uri, innerUri);
}
@@ -112,7 +111,7 @@
}
test_getLibraryByUri_cannotResolveUri() async {
- final driver = driverFor(testFile.path);
+ final driver = driverFor(testFile);
expect(
await driver.getLibraryByUri('foo:bar'),
isA<CannotResolveUriResult>(),
@@ -124,7 +123,7 @@
library augment 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
expect(
await driver.getLibraryByUri('package:test/a.dart'),
isA<NotLibraryButAugmentationResult>(),
@@ -136,7 +135,7 @@
part of 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
expect(
await driver.getLibraryByUri('package:test/a.dart'),
isA<NotLibraryButPartResult>(),
@@ -144,7 +143,7 @@
}
test_getParsedLibraryByUri_cannotResolveUri() async {
- final driver = driverFor(testFile.path);
+ final driver = driverFor(testFile);
final uri = Uri.parse('foo:bar');
expect(
driver.getParsedLibraryByUri(uri),
@@ -157,7 +156,7 @@
library augment 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
final uri = Uri.parse('package:test/a.dart');
expect(
driver.getParsedLibraryByUri(uri),
@@ -170,7 +169,7 @@
part of 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
final uri = Uri.parse('package:test/a.dart');
expect(
driver.getParsedLibraryByUri(uri),
@@ -183,7 +182,7 @@
library augment 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
expect(
await driver.getResolvedLibrary(a.path),
isA<NotLibraryButAugmentationResult>(),
@@ -195,7 +194,7 @@
part of 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
expect(
await driver.getResolvedLibrary(a.path),
isA<NotLibraryButPartResult>(),
@@ -203,7 +202,7 @@
}
test_getResolvedLibraryByUri_cannotResolveUri() async {
- final driver = driverFor(testFile.path);
+ final driver = driverFor(testFile);
final uri = Uri.parse('foo:bar');
expect(
await driver.getResolvedLibraryByUri(uri),
@@ -216,7 +215,7 @@
library augment 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
final uri = Uri.parse('package:test/a.dart');
expect(
await driver.getResolvedLibraryByUri(uri),
@@ -229,7 +228,7 @@
part of 'b.dart';
''');
- final driver = driverFor(a.path);
+ final driver = driverFor(a);
final uri = Uri.parse('package:test/a.dart');
expect(
await driver.getResolvedLibraryByUri(uri),
diff --git a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
index cca27af..1abdd39 100644
--- a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
@@ -47,7 +47,7 @@
// This generated file should be used instead of the writable.
newFile(generatedPath, '');
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
var fsState = analysisDriver.fsState;
@@ -75,7 +75,7 @@
// This generated file should be used instead of the writable.
newFile(generatedPath, '');
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
var fsState = analysisDriver.fsState;
@@ -96,13 +96,13 @@
}
void test_getFileForUri_nestedLib_notCanonicalUri() async {
- var outerPath = convertPath('$workspaceRootPath/my/outer/lib/a.dart');
+ var outer = getFile('$workspaceRootPath/my/outer/lib/a.dart');
var outerUri = Uri.parse('package:my.outer/a.dart');
- var innerPath = convertPath('/workspace/my/outer/lib/inner/lib/b.dart');
+ var inner = getFile('/workspace/my/outer/lib/inner/lib/b.dart');
var innerUri = Uri.parse('package:my.outer.lib.inner/b.dart');
- var analysisDriver = driverFor(outerPath);
+ var analysisDriver = driverFor(outer);
var fsState = analysisDriver.fsState;
// User code might use such relative URI.
@@ -111,7 +111,7 @@
// However the returned file must use the canonical URI.
var innerFile = fsState.getFileForUri(innerUri2).t1!;
- expect(innerFile.path, innerPath);
+ expect(innerFile.path, inner.path);
expect(innerFile.uri, innerUri);
}
}
@@ -135,7 +135,7 @@
}
FileSystemState fsStateFor(File file) {
- return driverFor(file.path).fsState;
+ return driverFor(file).fsState;
}
test_libraryCycle() {
@@ -1850,8 +1850,7 @@
final librarySummaryFiles = <File>[];
{
final fooRoot = getFolder('$workspaceRootPath/foo');
-
- newFile('${fooRoot.path}/lib/foo.dart', 'class F {}');
+ final foo = newFile('${fooRoot.path}/lib/foo.dart', 'class F {}');
final fooPackageConfigFile = getFile(
'${fooRoot.path}/.dart_tool/package_config.json',
@@ -1862,7 +1861,7 @@
PackageConfigFileBuilder()..add(name: 'foo', rootPath: fooRoot.path),
);
- final analysisDriver = driverFor(fooRoot.path);
+ final analysisDriver = driverFor(foo);
final bundleBytes = await analysisDriver.buildPackageBundle(
uriList: [
Uri.parse('package:foo/foo.dart'),
@@ -1938,7 +1937,7 @@
{
final fooRoot = getFolder('$workspaceRootPath/foo');
- newFile('${fooRoot.path}/lib/foo.dart', r'''
+ final foo = newFile('${fooRoot.path}/lib/foo.dart', r'''
part 'foo2.dart';
''');
@@ -1955,7 +1954,7 @@
PackageConfigFileBuilder()..add(name: 'foo', rootPath: fooRoot.path),
);
- final analysisDriver = driverFor(fooRoot.path);
+ final analysisDriver = driverFor(foo);
final bundleBytes = await analysisDriver.buildPackageBundle(
uriList: [
Uri.parse('package:foo/foo.dart'),
@@ -2349,7 +2348,7 @@
{
final fooRoot = getFolder('$workspaceRootPath/foo');
- newFile('${fooRoot.path}/lib/foo.dart', 'class F {}');
+ final foo = newFile('${fooRoot.path}/lib/foo.dart', 'class F {}');
final fooPackageConfigFile = getFile(
'${fooRoot.path}/.dart_tool/package_config.json',
@@ -2360,7 +2359,7 @@
PackageConfigFileBuilder()..add(name: 'foo', rootPath: fooRoot.path),
);
- final analysisDriver = driverFor(fooRoot.path);
+ final analysisDriver = driverFor(foo);
final bundleBytes = await analysisDriver.buildPackageBundle(
uriList: [
Uri.parse('package:foo/foo.dart'),
@@ -2435,7 +2434,7 @@
{
final fooRoot = getFolder('$workspaceRootPath/foo');
- newFile('${fooRoot.path}/lib/foo.dart', r'''
+ final foo = newFile('${fooRoot.path}/lib/foo.dart', r'''
part 'foo2.dart';
''');
@@ -2452,7 +2451,7 @@
PackageConfigFileBuilder()..add(name: 'foo', rootPath: fooRoot.path),
);
- final analysisDriver = driverFor(fooRoot.path);
+ final analysisDriver = driverFor(foo);
final bundleBytes = await analysisDriver.buildPackageBundle(
uriList: [
Uri.parse('package:foo/foo.dart'),
diff --git a/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart b/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
index 46a5a21..a9deb63 100644
--- a/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
@@ -19,7 +19,7 @@
@reflectiveTest
class ResolveForCompletionTest extends PubPackageResolutionTest {
AnalysisDriver get testDriver {
- return driverFor(testFile.path);
+ return driverFor(testFile);
}
test_class__fieldDeclaration_type_namedType_name() async {
diff --git a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
index 3de528c..77c78fb 100644
--- a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
@@ -5,6 +5,7 @@
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/file_system/file_system.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -432,14 +433,15 @@
@override
Future<ElementDeclarationResult?> getElementDeclaration(
Element element) async {
- var libraryPath = element.library!.source.fullName;
- var library = await _getParsedLibrary(libraryPath);
+ final path = element.library!.source.fullName;
+ final file = getFile(path);
+ final library = await _getParsedLibrary(file);
return library.getElementDeclaration(element);
}
- Future<ParsedLibraryResult> _getParsedLibrary(String path) async {
- var session = contextFor(path).currentSession;
- return session.getParsedLibrary(path) as ParsedLibraryResult;
+ Future<ParsedLibraryResult> _getParsedLibrary(File file) async {
+ var session = contextFor(file).currentSession;
+ return session.getParsedLibrary(file.path) as ParsedLibraryResult;
}
}
@@ -449,13 +451,14 @@
@override
Future<ElementDeclarationResult?> getElementDeclaration(
Element element) async {
- var libraryPath = element.library!.source.fullName;
- var library = await _getResolvedLibrary(libraryPath);
+ final path = element.library!.source.fullName;
+ final file = getFile(path);
+ final library = await _getResolvedLibrary(file);
return library.getElementDeclaration(element);
}
- Future<ResolvedLibraryResult> _getResolvedLibrary(String path) async {
- var session = contextFor(path).currentSession;
- return await session.getResolvedLibrary(path) as ResolvedLibraryResult;
+ Future<ResolvedLibraryResult> _getResolvedLibrary(File file) async {
+ var session = contextFor(file).currentSession;
+ return await session.getResolvedLibrary(file.path) as ResolvedLibraryResult;
}
}
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index e902f74..14a0870 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -64,7 +64,7 @@
@reflectiveTest
class SearchTest extends PubPackageResolutionTest {
- AnalysisDriver get driver => driverFor(testFile.path);
+ AnalysisDriver get driver => driverFor(testFile);
CompilationUnitElement get resultUnitElement => result.unit.declaredElement!;
@@ -1118,7 +1118,7 @@
..add(name: 'aaa', rootPath: aaaPackageRootPath),
);
- pathForContextSelection = testFile.path;
+ fileForContextSelection = testFile;
await resolveFileCode(aaaFilePath, '''
import 'dart:math' show max, pi, Random hide min;
@@ -1322,7 +1322,7 @@
newFile(partPathA, codeA);
newFile(partPathB, codeB);
- pathForContextSelection = testFile.path;
+ fileForContextSelection = testFile;
await resolveFileCode(libPath, '''
library lib;
@@ -1395,7 +1395,7 @@
..add(name: 'aaa', rootPath: aaaPackageRootPath),
);
- pathForContextSelection = testFile.path;
+ fileForContextSelection = testFile;
await resolveFileCode(testPath, '''
main() {
@@ -1865,7 +1865,7 @@
..add(name: 'aaa', rootPath: aaaPackageRootPath),
);
- pathForContextSelection = testFile.path;
+ fileForContextSelection = testFile;
var libPath = convertPath('$aaaPackageRootPath/lib/a.dart');
var partPath = convertPath('$aaaPackageRootPath/lib/my_part.dart');
@@ -1978,7 +1978,7 @@
..add(name: 'aaa', rootPath: aaaPackageRootPath),
);
- pathForContextSelection = this.testFile.path;
+ fileForContextSelection = this.testFile;
String testCode = '''
library lib;
diff --git a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
index 8af5849..d583870 100644
--- a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
@@ -23,7 +23,7 @@
@override
void setUp() {
super.setUp();
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
helper = AnalysisSessionHelper(session);
}
diff --git a/pkg/analyzer/test/src/dart/analysis/session_test.dart b/pkg/analyzer/test/src/dart/analysis/session_test.dart
index 4a1a014..0e071ee 100644
--- a/pkg/analyzer/test/src/dart/analysis/session_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/session_test.dart
@@ -25,9 +25,9 @@
var relPath = 'dart/my/lib/a.dart';
newFile('$workspaceRootPath/bazel-bin/$relPath', '');
- var path = convertPath('$workspaceRootPath/$relPath');
- var session = contextFor(path).currentSession;
- var result = await session.getErrors(path);
+ final file = getFile('$workspaceRootPath/$relPath');
+ var session = contextFor(file).currentSession;
+ var result = await session.getErrors(file.path);
expect(result, isA<NotPathOfUriResult>());
}
@@ -37,7 +37,7 @@
'var x = 0',
);
- var session = contextFor(file.path).currentSession;
+ var session = contextFor(file).currentSession;
var result = await session.getErrorsValid(file.path);
expect(result.path, file.path);
expect(result.errors, hasLength(1));
@@ -48,9 +48,9 @@
var relPath = 'dart/my/lib/a.dart';
newFile('$workspaceRootPath/bazel-bin/$relPath', '');
- var path = convertPath('$workspaceRootPath/$relPath');
- var session = contextFor(path).currentSession;
- var result = session.getParsedLibrary(path);
+ final file = getFile('$workspaceRootPath/$relPath');
+ var session = contextFor(file).currentSession;
+ var result = session.getParsedLibrary(file.path);
expect(result, isA<NotPathOfUriResult>());
}
@@ -58,9 +58,9 @@
var relPath = 'dart/my/lib/a.dart';
newFile('$workspaceRootPath/bazel-bin/$relPath', '');
- var path = convertPath('$workspaceRootPath/$relPath');
- var session = contextFor(path).currentSession;
- var result = await session.getResolvedLibrary(path);
+ final file = getFile('$workspaceRootPath/$relPath');
+ var session = contextFor(file).currentSession;
+ var result = await session.getResolvedLibrary(file.path);
expect(result, isA<NotPathOfUriResult>());
}
@@ -68,9 +68,9 @@
var relPath = 'dart/my/lib/a.dart';
newFile('$workspaceRootPath/bazel-bin/$relPath', '');
- var path = convertPath('$workspaceRootPath/$relPath');
- var session = contextFor(path).currentSession;
- var result = await session.getResolvedUnit(path);
+ final file = getFile('$workspaceRootPath/$relPath');
+ var session = contextFor(file).currentSession;
+ var result = await session.getResolvedUnit(file.path);
expect(result, isA<NotPathOfUriResult>());
}
@@ -80,7 +80,7 @@
'class A {}',
);
- var session = contextFor(file.path).currentSession;
+ var session = contextFor(file).currentSession;
var result = await session.getResolvedUnit(file.path) as ResolvedUnitResult;
expect(result.path, file.path);
expect(result.errors, isEmpty);
@@ -93,7 +93,7 @@
'class A {}',
);
- var session = contextFor(file.path).currentSession;
+ var session = contextFor(file).currentSession;
var result = await session.getUnitElement('not_absolute.dart');
expect(result, isA<InvalidPathResult>());
}
@@ -102,9 +102,9 @@
var relPath = 'dart/my/lib/a.dart';
newFile('$workspaceRootPath/bazel-bin/$relPath', '');
- var path = convertPath('$workspaceRootPath/$relPath');
- var session = contextFor(path).currentSession;
- var result = await session.getUnitElement(path);
+ final file = getFile('$workspaceRootPath/$relPath');
+ var session = contextFor(file).currentSession;
+ var result = await session.getUnitElement(file.path);
expect(result, isA<NotPathOfUriResult>());
}
@@ -114,7 +114,7 @@
'class A {}',
);
- var session = contextFor(file.path).currentSession;
+ var session = contextFor(file).currentSession;
var result = await session.getUnitElementValid(file.path);
expect(result.path, file.path);
expect(result.element.classes, hasLength(1));
@@ -126,7 +126,7 @@
class AnalysisSessionImplTest extends PubPackageResolutionTest {
test_applyPendingFileChanges_getFile() async {
final a = newFile('$testPackageLibPath/a.dart', '');
- final analysisContext = contextFor(a.path);
+ final analysisContext = contextFor(a);
int lineCount_in_a() {
final result = analysisContext.currentSession.getFileValid(a.path);
@@ -145,7 +145,7 @@
test_applyPendingFileChanges_getParsedLibrary() async {
final a = newFile('$testPackageLibPath/a.dart', '');
- final analysisContext = contextFor(a.path);
+ final analysisContext = contextFor(a);
int lineCount_in_a() {
final analysisSession = analysisContext.currentSession;
@@ -165,7 +165,7 @@
test_applyPendingFileChanges_getParsedUnit() async {
final a = newFile('$testPackageLibPath/a.dart', '');
- final analysisContext = contextFor(a.path);
+ final analysisContext = contextFor(a);
int lineCount_in_a() {
final result = analysisContext.currentSession.getParsedUnitValid(a.path);
@@ -185,7 +185,7 @@
test_getErrors() async {
var test = newFile(testFile.path, 'class C {');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var errorsResult = await session.getErrorsValid(test.path);
expect(errorsResult.session, session);
expect(errorsResult.path, test.path);
@@ -194,8 +194,8 @@
test_getErrors_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getErrors(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -203,15 +203,15 @@
}
test_getErrors_invalidPath_notAbsolute() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var errorsResult = await session.getErrors('not_absolute.dart');
expect(errorsResult, isA<InvalidPathResult>());
}
test_getFile_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getFile(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -219,7 +219,7 @@
}
test_getFile_invalidPath_notAbsolute() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var errorsResult = session.getFile('not_absolute.dart');
expect(errorsResult, isA<InvalidPathResult>());
}
@@ -227,7 +227,7 @@
test_getFile_library() async {
var a = newFile('$testPackageLibPath/a.dart', '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var file = session.getFileValid(a.path);
expect(file.path, a.path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -237,7 +237,7 @@
test_getFile_part() async {
var a = newFile('$testPackageLibPath/a.dart', 'part of lib;');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var file = session.getFileValid(a.path);
expect(file.path, a.path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -250,7 +250,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = await session.getLibraryByUriValid('package:test/test.dart');
var library = result.element;
expect(library.getType('A'), isNotNull);
@@ -260,8 +260,8 @@
test_getLibraryByUri_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getLibraryByUriValid('package:test/test.dart'),
throwsA(isA<InconsistentAnalysisException>()),
@@ -273,7 +273,7 @@
library augment 'a.dart';
''');
- final session = contextFor(testFile.path).currentSession;
+ final session = contextFor(testFile).currentSession;
final result = await session.getLibraryByUri('package:test/test.dart');
expect(result, isA<NotLibraryButAugmentationResult>());
}
@@ -283,13 +283,13 @@
part of 'a.dart';
''');
- final session = contextFor(testFile.path).currentSession;
+ final session = contextFor(testFile).currentSession;
final result = await session.getLibraryByUri('package:test/test.dart');
expect(result, isA<NotLibraryButPartResult>());
}
test_getLibraryByUri_unresolvedUri() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = await session.getLibraryByUri('package:foo/foo.dart');
expect(result, isA<CannotResolveUriResult>());
}
@@ -300,7 +300,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var parsedLibrary = session.getParsedLibraryValid(test.path);
expect(parsedLibrary.session, session);
@@ -320,7 +320,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var libraryResult = await session.getLibraryByUriValid(
'package:test/test.dart',
);
@@ -337,7 +337,7 @@
test_getParsedLibrary_getElementDeclaration_notThisLibrary() async {
var test = newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var resolvedUnit =
await session.getResolvedUnit(test.path) as ResolvedUnitResult;
var typeProvider = resolvedUnit.typeProvider;
@@ -355,7 +355,7 @@
int foo = 0;
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var parsedLibrary = session.getParsedLibraryValid(test.path);
var unitResult = await session.getUnitElementValid(test.path);
@@ -377,8 +377,8 @@
test_getParsedLibrary_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getParsedLibrary(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -392,7 +392,7 @@
part 'c.dart';
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var parsedLibrary = session.getParsedLibraryValid(test.path);
expect(parsedLibrary.units, hasLength(1));
@@ -403,14 +403,14 @@
}
test_getParsedLibrary_invalidPath_notAbsolute() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = session.getParsedLibrary('not_absolute.dart');
expect(result, isA<InvalidPathResult>());
}
test_getParsedLibrary_notLibrary() async {
var test = newFile(testFile.path, 'part of "a.dart";');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
expect(session.getParsedLibrary(test.path), isA<NotLibraryButPartResult>());
}
@@ -419,7 +419,7 @@
library augment 'a.dart';
''');
- final session = contextFor(testFile.path).currentSession;
+ final session = contextFor(testFile).currentSession;
final result = session.getParsedLibrary(testFile.path);
expect(result, isA<NotLibraryButAugmentationResult>());
}
@@ -451,7 +451,7 @@
var b = newFile('$testPackageLibPath/b.dart', bContent);
var c = newFile('$testPackageLibPath/c.dart', cContent);
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var parsedLibrary = session.getParsedLibraryValid(a.path);
expect(parsedLibrary.units, hasLength(3));
@@ -480,7 +480,7 @@
test_getParsedLibraryByElement() async {
var test = newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var libraryResult = await session.getLibraryByUriValid(
'package:test/test.dart',
);
@@ -501,13 +501,14 @@
test_getParsedLibraryByElement_differentSession() async {
newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var libraryResult = await session.getLibraryByUriValid(
'package:test/test.dart',
);
var element = libraryResult.element;
- var aaaSession = contextFor('$workspaceRootPath/aaa').currentSession;
+ final aaaFile = getFile('$workspaceRootPath/aaa/lib/a.dart');
+ var aaaSession = contextFor(aaaFile).currentSession;
var result = aaaSession.getParsedLibraryByElement(element);
expect(result, isA<NotElementOfThisSessionResult>());
@@ -519,7 +520,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var unitResult = session.getParsedUnitValid(test.path);
expect(unitResult.session, session);
expect(unitResult.path, test.path);
@@ -529,8 +530,8 @@
test_getParsedUnit_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getParsedUnit(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -538,7 +539,7 @@
}
test_getParsedUnit_invalidPath_notAbsolute() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = session.getParsedUnit('not_absolute.dart');
expect(result, isA<InvalidPathResult>());
}
@@ -559,7 +560,7 @@
''';
var b = newFile('$testPackageLibPath/b.dart', bContent);
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(a.path);
expect(resolvedLibrary.session, session);
@@ -608,7 +609,7 @@
test_getResolvedLibrary_getElementDeclaration_notThisLibrary() async {
var test = newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(test.path);
expect(() {
@@ -622,7 +623,7 @@
int foo = 0;
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(test.path);
var unitElement = resolvedLibrary.element.definingCompilationUnit;
@@ -644,8 +645,8 @@
test_getResolvedLibrary_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getResolvedLibrary(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -659,7 +660,7 @@
part 'c.dart';
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(test.path);
expect(resolvedLibrary.units, hasLength(1));
@@ -670,7 +671,7 @@
}
test_getResolvedLibrary_invalidPath_notAbsolute() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = await session.getResolvedLibrary('not_absolute.dart');
expect(result, isA<InvalidPathResult>());
}
@@ -680,7 +681,7 @@
library augment of 'a.dart';
''');
- final session = contextFor(testFile.path).currentSession;
+ final session = contextFor(testFile).currentSession;
final result = await session.getResolvedLibrary(testFile.path);
expect(result, isA<NotLibraryButAugmentationResult>());
}
@@ -688,7 +689,7 @@
test_getResolvedLibrary_notLibrary_part() async {
var test = newFile(testFile.path, 'part of "a.dart";');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var result = await session.getResolvedLibrary(test.path);
expect(result, isA<NotLibraryButPartResult>());
}
@@ -696,7 +697,7 @@
test_getResolvedLibraryByElement() async {
var test = newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var libraryResult = await session.getLibraryByUriValid(
'package:test/test.dart',
);
@@ -713,13 +714,14 @@
test_getResolvedLibraryByElement_differentSession() async {
newFile(testFile.path, '');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var libraryResult = await session.getLibraryByUriValid(
'package:test/test.dart',
);
var element = libraryResult.element;
- var aaaSession = contextFor('$workspaceRootPath/aaa').currentSession;
+ final aaaFile = getFile('$workspaceRootPath/aaa/lib/a.dart');
+ var aaaSession = contextFor(aaaFile).currentSession;
var result = await aaaSession.getResolvedLibraryByElement(element);
expect(result, isA<NotElementOfThisSessionResult>());
@@ -731,7 +733,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var unitResult =
await session.getResolvedUnit(test.path) as ResolvedUnitResult;
expect(unitResult.session, session);
@@ -744,8 +746,8 @@
test_getResolvedUnit_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getResolvedUnit(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -758,7 +760,7 @@
class B {}
''');
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
var unitResult = await session.getUnitElementValid(test.path);
expect(unitResult.session, session);
expect(unitResult.path, test.path);
@@ -768,8 +770,8 @@
test_getUnitElement_inconsistent() async {
var test = newFile(testFile.path, '');
- var session = contextFor(test.path).currentSession;
- driverFor(test.path).changeFile(test.path);
+ var session = contextFor(test).currentSession;
+ driverFor(test).changeFile(test.path);
expect(
() => session.getUnitElement(test.path),
throwsA(isA<InconsistentAnalysisException>()),
@@ -777,7 +779,7 @@
}
test_resourceProvider() async {
- var session = contextFor(testFile.path).currentSession;
+ var session = contextFor(testFile).currentSession;
expect(session.resourceProvider, resourceProvider);
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
index 5165f8a..da175f8 100644
--- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -130,8 +130,8 @@
AnalysisContextCollectionImpl? _analysisContextCollection;
/// If not `null`, [resolveFile] will use the context that corresponds
- /// to this path, instead of the given path.
- String? pathForContextSelection;
+ /// to this file, instead of the given file.
+ File? fileForContextSelection;
/// Optional Dart SDK summary file, to be used instead of [sdkRoot].
File? sdkSummaryFile;
@@ -158,12 +158,12 @@
Folder get sdkRoot => newFolder('/sdk');
void assertBasicWorkspaceFor(File file) {
- var workspace = contextFor(file.path).contextRoot.workspace;
+ var workspace = contextFor(file).contextRoot.workspace;
expect(workspace, TypeMatcher<BasicWorkspace>());
}
void assertBazelWorkspaceFor(File file) {
- var workspace = contextFor(file.path).contextRoot.workspace;
+ var workspace = contextFor(file).contextRoot.workspace;
expect(workspace, TypeMatcher<BazelWorkspace>());
}
@@ -172,7 +172,7 @@
String expected, {
bool omitSdkFiles = true,
}) {
- final analysisDriver = driverFor(file.path);
+ final analysisDriver = driverFor(file);
final buffer = StringBuffer();
AnalyzerStatePrinter(
@@ -194,22 +194,22 @@
}
void assertGnWorkspaceFor(File file) {
- var workspace = contextFor(file.path).contextRoot.workspace;
+ var workspace = contextFor(file).contextRoot.workspace;
expect(workspace, TypeMatcher<GnWorkspace>());
}
void assertPackageBuildWorkspaceFor(File file) {
- var workspace = contextFor(file.path).contextRoot.workspace;
+ var workspace = contextFor(file).contextRoot.workspace;
expect(workspace, TypeMatcher<PackageBuildWorkspace>());
}
- void assertPubWorkspaceFor(String path) {
- var workspace = contextFor(path).contextRoot.workspace;
+ void assertPubWorkspaceFor(File file) {
+ var workspace = contextFor(file).contextRoot.workspace;
expect(workspace, TypeMatcher<PubWorkspace>());
}
- AnalysisContext contextFor(String path) {
- return _contextFor(path);
+ AnalysisContext contextFor(File file) {
+ return _contextFor(file);
}
Future<void> disposeAnalysisContextCollection() async {
@@ -222,8 +222,8 @@
}
}
- AnalysisDriver driverFor(String path) {
- return _contextFor(path).driver;
+ AnalysisDriver driverFor(File file) {
+ return _contextFor(file).driver;
}
@override
@@ -237,7 +237,8 @@
@override
Future<ResolvedUnitResult> resolveFile(String path) async {
- var analysisContext = contextFor(pathForContextSelection ?? path);
+ final file = getFile(path); // TODO(scheglov) migrate to File
+ var analysisContext = contextFor(fileForContextSelection ?? file);
var session = analysisContext.currentSession;
return await session.getResolvedUnit(path) as ResolvedUnitResult;
}
@@ -280,11 +281,10 @@
void verifyCreatedCollection() {}
- DriverBasedAnalysisContext _contextFor(String path) {
+ DriverBasedAnalysisContext _contextFor(File file) {
_createAnalysisContexts();
- path = convertPath(path);
- return _analysisContextCollection!.contextFor(path);
+ return _analysisContextCollection!.contextFor(file.path);
}
/// Create all analysis contexts in [collectionIncludedPaths].
@@ -312,8 +312,7 @@
class PubPackageResolutionTest extends ContextResolutionTest {
AnalysisOptionsImpl get analysisOptions {
- var path = convertPath(testPackageRootPath);
- return contextFor(path).analysisOptions as AnalysisOptionsImpl;
+ return contextFor(testFile).analysisOptions as AnalysisOptionsImpl;
}
@override
diff --git a/pkg/analyzer/test/src/diagnostics/mock_sdk_test.dart b/pkg/analyzer/test/src/diagnostics/mock_sdk_test.dart
index 53c6dfd..c75cfaa 100644
--- a/pkg/analyzer/test/src/diagnostics/mock_sdk_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mock_sdk_test.dart
@@ -51,7 +51,7 @@
}
Future<ResolvedLibraryResult> _resolvedLibraryByUri(String uriStr) async {
- var analysisSession = contextFor(testFile.path).currentSession;
+ var analysisSession = contextFor(testFile).currentSession;
var coreElementResult =
await analysisSession.getLibraryByUri(uriStr) as LibraryElementResult;
return await analysisSession.getResolvedLibraryByElement(
diff --git a/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart b/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
index 88087f5..d8e6ed0 100644
--- a/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/null_safety_read_write_test.dart
@@ -1217,7 +1217,7 @@
}) {
var node = findNode.simple(search);
- var testingData = driverFor(testFile.path).testingData!;
+ var testingData = driverFor(testFile).testingData!;
var unitData = testingData.uriToFlowAnalysisData[result.uri]!;
if (assigned) {
diff --git a/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart b/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
index 479a695..430ad19 100644
--- a/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
@@ -70,7 +70,7 @@
Future<int> zero() async => 0;
''');
- final analysisSession = contextFor(lib.path).currentSession;
+ final analysisSession = contextFor(lib).currentSession;
final resolvedLibrary = await analysisSession.getResolvedLibrary(lib.path);
resolvedLibrary as ResolvedLibraryResult;
@@ -135,7 +135,7 @@
Future<int> zero() async => 0;
''');
- final analysisSession = contextFor(lib.path).currentSession;
+ final analysisSession = contextFor(lib).currentSession;
final resolvedLibrary = await analysisSession.getResolvedLibrary(lib.path);
resolvedLibrary as ResolvedLibraryResult;
diff --git a/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart b/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
index f0d36fc..f35521d 100644
--- a/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
@@ -59,7 +59,7 @@
// Remove the overlay in the same way as AnalysisServer.
deleteFile(filePath);
- var analysisDriver = driverFor(testFile.path);
+ var analysisDriver = driverFor(testFile);
analysisDriver.removeFile(filePath);
await analysisDriver.applyPendingFileChanges();
diff --git a/pkg/analyzer/test/src/summary/elements_base.dart b/pkg/analyzer/test/src/summary/elements_base.dart
index 9a3db3b..4f7a777 100644
--- a/pkg/analyzer/test/src/summary/elements_base.dart
+++ b/pkg/analyzer/test/src/summary/elements_base.dart
@@ -27,7 +27,7 @@
List<Set<String>>? preBuildSequence,
}) async {
final file = newFile(testFile.path, text);
- final analysisContext = contextFor(file.path);
+ final analysisContext = contextFor(file);
final analysisSession = analysisContext.currentSession;
final uriStr = 'package:test/test.dart';
diff --git a/pkg/analyzer/test/src/summary/top_level_inference_test.dart b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
index 712f520..8b4204f 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -6165,7 +6165,7 @@
Future<LibraryElement> _encodeDecodeLibrary(String text) async {
newFile(testFile.path, text);
- var analysisSession = contextFor(testFile.path).currentSession;
+ var analysisSession = contextFor(testFile).currentSession;
var result = await analysisSession.getUnitElement(testFile.path);
result as UnitElementResult;
return result.element.library;