API. Add Folder.getFile/Folder, deprecate getChildAssumingFile/Folder
This aligns names with ResourceProvider.getFile/Folder. Change-Id: I30383ef1fa6f7cbe60b187338e25b8ca75806730 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/511120 Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jonas Jensen <jonasfj@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
committed by
dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
649a56d6e4
commit
be4df1a869
@@ -660,15 +660,15 @@ class ContextManagerImpl implements ContextManager {
|
||||
|
||||
var packageName = rootFolder.shortName;
|
||||
var fixDataYamlFile = rootFolder
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFile(file_paths.fixDataYaml);
|
||||
.getFolder('lib')
|
||||
.getFile(file_paths.fixDataYaml);
|
||||
if (fixDataYamlFile.exists) {
|
||||
_analyzeFixDataYaml(driver, fixDataYamlFile, packageName);
|
||||
}
|
||||
|
||||
var fixDataFolder = rootFolder
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder(file_paths.fixDataYamlFolder);
|
||||
.getFolder('lib')
|
||||
.getFolder(file_paths.fixDataYamlFolder);
|
||||
if (fixDataFolder.exists) {
|
||||
_analyzeFixDataFolder(driver, fixDataFolder, packageName);
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ class MigrateHandler
|
||||
);
|
||||
}
|
||||
|
||||
var pubspecFile = resource.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = resource.getFile(file_paths.pubspecYaml);
|
||||
if (!pubspecFile.exists) {
|
||||
return error(
|
||||
ErrorCodes.InvalidParams,
|
||||
|
||||
@@ -39,8 +39,8 @@ class PluginLocator {
|
||||
return _pluginMap.putIfAbsent(packageRoot, () {
|
||||
var pluginFolder = resourceProvider
|
||||
.getFolder(packageRoot)
|
||||
.getChildAssumingFolder(toolsFolderName)
|
||||
.getChildAssumingFolder(defaultPluginFolderName);
|
||||
.getFolder(toolsFolderName)
|
||||
.getFolder(defaultPluginFolderName);
|
||||
return pluginFolder.exists ? pluginFolder.path : null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -327,7 +327,7 @@ class PluginManager {
|
||||
@visibleForTesting bool builtAsAot = _builtAsAot,
|
||||
}) {
|
||||
var pluginFolder = _resourceProvider.getFolder(pluginPath);
|
||||
var pubspecFile = pluginFolder.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = pluginFolder.getFile(file_paths.pubspecYaml);
|
||||
if (!pubspecFile.exists) {
|
||||
// If there's no pubspec file, then we don't need to copy the package
|
||||
// because we won't be running pub.
|
||||
@@ -359,9 +359,7 @@ class PluginManager {
|
||||
|
||||
var parentFolder = pluginStateFolder(pluginPath);
|
||||
if (parentFolder.exists) {
|
||||
var executionFolder = parentFolder.getChildAssumingFolder(
|
||||
pluginFolder.shortName,
|
||||
);
|
||||
var executionFolder = parentFolder.getFolder(pluginFolder.shortName);
|
||||
return _computeFiles(
|
||||
executionFolder,
|
||||
builtAsAot: builtAsAot,
|
||||
@@ -399,7 +397,7 @@ class PluginManager {
|
||||
throw PluginException('No state location, so plugin could not be copied');
|
||||
}
|
||||
var stateName = _uniqueDirectoryName(pluginPath);
|
||||
return stateFolder.getChildAssumingFolder(stateName);
|
||||
return stateFolder.getFolder(stateName);
|
||||
}
|
||||
|
||||
/// The path to the "plugin state" folder for a plugin at [pluginPath].
|
||||
@@ -568,8 +566,8 @@ class PluginManager {
|
||||
);
|
||||
|
||||
var stopwatch = Stopwatch()..start();
|
||||
var depfile = entrypoint.parent.getChildAssumingFile('depfile.txt');
|
||||
var aotSnapshotFile = entrypoint.parent.getChildAssumingFile('plugin.aot');
|
||||
var depfile = entrypoint.parent.getFile('depfile.txt');
|
||||
var aotSnapshotFile = entrypoint.parent.getFile('plugin.aot');
|
||||
if (aotSnapshotFile.exists) {
|
||||
try {
|
||||
// Delete any existing AOT snapshot. On MacOS, sometimes this file
|
||||
@@ -646,9 +644,7 @@ class PluginManager {
|
||||
throw PluginException(exceptionReason);
|
||||
}
|
||||
|
||||
return pluginFolder
|
||||
.getChildAssumingFolder('bin')
|
||||
.getChildAssumingFile('plugin.aot');
|
||||
return pluginFolder.getFolder('bin').getFile('plugin.aot');
|
||||
}
|
||||
|
||||
/// Computes the plugin files, given that the plugin should exist in
|
||||
@@ -661,15 +657,13 @@ class PluginManager {
|
||||
String? pubCommand,
|
||||
Workspace? workspace,
|
||||
}) {
|
||||
var pluginFile = pluginFolder
|
||||
.getChildAssumingFolder('bin')
|
||||
.getChildAssumingFile('plugin.dart');
|
||||
var pluginFile = pluginFolder.getFolder('bin').getFile('plugin.dart');
|
||||
if (!pluginFile.exists) {
|
||||
throw PluginException("File '${pluginFile.path}' does not exist.");
|
||||
}
|
||||
File? packageConfigFile = pluginFolder
|
||||
.getChildAssumingFolder(file_paths.dotDartTool)
|
||||
.getChildAssumingFile(file_paths.packageConfigJson);
|
||||
.getFolder(file_paths.dotDartTool)
|
||||
.getFile(file_paths.packageConfigJson);
|
||||
|
||||
if (pubCommand != null) {
|
||||
var pubResult = _runPubCommand(
|
||||
@@ -756,11 +750,9 @@ class PluginManager {
|
||||
var pluginPath = pluginFolder.path;
|
||||
var stateFolder = _resourceProvider.getStateLocation('.plugin_manager')!;
|
||||
var stateName = '${_uniqueDirectoryName(pluginPath)}.packages';
|
||||
var packageConfigFile = stateFolder.getChildAssumingFile(stateName);
|
||||
var packageConfigFile = stateFolder.getFile(stateName);
|
||||
if (!packageConfigFile.exists) {
|
||||
var pluginPubspec = pluginFolder.getChildAssumingFile(
|
||||
file_paths.pubspecYaml,
|
||||
);
|
||||
var pluginPubspec = pluginFolder.getFile(file_paths.pubspecYaml);
|
||||
if (!pluginPubspec.exists) {
|
||||
return null;
|
||||
}
|
||||
@@ -784,9 +776,7 @@ class PluginManager {
|
||||
.parent
|
||||
.parent;
|
||||
packages.add(_Package(packageName, packageRoot));
|
||||
pubspecFiles.add(
|
||||
packageRoot.getChildAssumingFile(file_paths.pubspecYaml),
|
||||
);
|
||||
pubspecFiles.add(packageRoot.getFile(file_paths.pubspecYaml));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -827,19 +817,15 @@ class PluginManager {
|
||||
required File pluginFile,
|
||||
required Folder pluginFolder,
|
||||
}) {
|
||||
var aotSnapshotFile = pluginFolder
|
||||
.getChildAssumingFolder('bin')
|
||||
.getChildAssumingFile('plugin.aot');
|
||||
var aotSnapshotFile = pluginFolder.getFolder('bin').getFile('plugin.aot');
|
||||
if (!aotSnapshotFile.exists) return null;
|
||||
var snapshotModificationStamp = aotSnapshotFile.modificationStamp;
|
||||
|
||||
if (pluginFile.modificationStamp > snapshotModificationStamp) return null;
|
||||
var pubspecFile = pluginFolder.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = pluginFolder.getFile(file_paths.pubspecYaml);
|
||||
if (pubspecFile.modificationStamp > snapshotModificationStamp) return null;
|
||||
|
||||
var depfile = pluginFolder
|
||||
.getChildAssumingFolder('bin')
|
||||
.getChildAssumingFile('depfile.txt');
|
||||
var depfile = pluginFolder.getFolder('bin').getFile('depfile.txt');
|
||||
if (!depfile.exists) return null;
|
||||
|
||||
var content = depfile.readAsStringSync();
|
||||
|
||||
@@ -135,9 +135,7 @@ class PluginWatcher implements DriverWatcher {
|
||||
"context root: '${contextRoot.root.path}'",
|
||||
);
|
||||
sharedPluginFolder.create();
|
||||
var pubspecFile = sharedPluginFolder.getChildAssumingFile(
|
||||
file_paths.pubspecYaml,
|
||||
);
|
||||
var pubspecFile = sharedPluginFolder.getFile(file_paths.pubspecYaml);
|
||||
var newPubspecContent = packageGenerator.generatePubspec();
|
||||
// Only update the file if the content is different, to avoid changing the
|
||||
// modification timestamp.
|
||||
@@ -146,8 +144,8 @@ class PluginWatcher implements DriverWatcher {
|
||||
pubspecFile.writeAsStringSync(newPubspecContent);
|
||||
}
|
||||
|
||||
var binFolder = sharedPluginFolder.getChildAssumingFolder('bin')..create();
|
||||
var entrypointFile = binFolder.getChildAssumingFile('plugin.dart');
|
||||
var binFolder = sharedPluginFolder.getFolder('bin')..create();
|
||||
var entrypointFile = binFolder.getFile('plugin.dart');
|
||||
var newEntrypointContent = packageGenerator.generateEntrypoint();
|
||||
// Only update the file if the content is different, to avoid changing the
|
||||
// modification timestamp.
|
||||
|
||||
@@ -399,8 +399,8 @@ class BulkFixProcessor {
|
||||
continue;
|
||||
}
|
||||
|
||||
var libPath = package.root.getChildAssumingFolder('lib');
|
||||
var binPath = package.root.getChildAssumingFolder('bin');
|
||||
var libPath = package.root.getFolder('lib');
|
||||
var binPath = package.root.getFolder('bin');
|
||||
|
||||
var pubspecDeps = packageToDeps.putIfAbsent(
|
||||
package,
|
||||
|
||||
@@ -53,7 +53,7 @@ class UpdateSdkConstraints extends ResolvedCorrectionProducer {
|
||||
File? _findPubspecFile() {
|
||||
var file = resourceProvider.getFile(this.file);
|
||||
for (var folder in file.parent.withAncestors) {
|
||||
var pubspecFile = folder.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = folder.getFile(file_paths.pubspecYaml);
|
||||
if (pubspecFile.exists) {
|
||||
return pubspecFile;
|
||||
}
|
||||
|
||||
+3
-3
@@ -57,7 +57,7 @@ class TransformSetManager {
|
||||
} else {
|
||||
var sdkRoot = analysisContext.sdkRoot;
|
||||
if (sdkRoot != null) {
|
||||
var file = sdkRoot.getChildAssumingFile('lib/_internal/$dataFileName');
|
||||
var file = sdkRoot.getFile('lib/_internal/$dataFileName');
|
||||
var transformSet = _loadTransformSet(file, null);
|
||||
if (transformSet != null) {
|
||||
transformSets.add(transformSet);
|
||||
@@ -74,12 +74,12 @@ class TransformSetManager {
|
||||
|
||||
packageName ??= folder.parent.shortName;
|
||||
var transformSets = <TransformSet>[];
|
||||
var file = folder.getChildAssumingFile(dataFileName);
|
||||
var file = folder.getFile(dataFileName);
|
||||
var transformSet = _loadTransformSet(file, packageName);
|
||||
if (transformSet != null) {
|
||||
transformSets.add(transformSet);
|
||||
}
|
||||
var childFolder = folder.getChildAssumingFolder(dataFolderName);
|
||||
var childFolder = folder.getFolder(dataFolderName);
|
||||
if (childFolder.exists) {
|
||||
_loadTransforms(transformSets, childFolder, packageName);
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ class PubPackageService {
|
||||
var cacheFolder = resourceProvider.getStateLocation(
|
||||
'.pub-package-details-cache',
|
||||
)!..create();
|
||||
return cacheFolder.getChildAssumingFile('packages.json');
|
||||
return cacheFolder.getFile('packages.json');
|
||||
}
|
||||
|
||||
/// Begins preloading caches for package names and pub versions.
|
||||
|
||||
@@ -26,9 +26,7 @@ abstract class UserPromptPreferences {
|
||||
);
|
||||
return _NotPersistableUserPromptPreferences();
|
||||
}
|
||||
var preferencesFile = (stateFolder..create()).getChildAssumingFile(
|
||||
'preferences.json',
|
||||
);
|
||||
var preferencesFile = (stateFolder..create()).getFile('preferences.json');
|
||||
|
||||
return _PersistableUserPromptPreferences(
|
||||
preferencesFile,
|
||||
|
||||
@@ -79,16 +79,14 @@ class ContextsPage extends DiagnosticPageWithNav {
|
||||
buf.write('pubspec file: ');
|
||||
buf.write(escape(workspaceFolder.path));
|
||||
buf.write('$separator<wbr>');
|
||||
var pubspecPath = workspaceFolder
|
||||
.getChildAssumingFile(file_paths.pubspecYaml)
|
||||
.path;
|
||||
var pubspecPath = workspaceFolder.getFile(file_paths.pubspecYaml).path;
|
||||
buf.writeln(formatContentsLink(pubspecPath, file_paths.pubspecYaml));
|
||||
}
|
||||
}
|
||||
|
||||
var packageConfig = workspaceFolder
|
||||
.getChildAssumingFolder(file_paths.dotDartTool)
|
||||
.getChildAssumingFile(file_paths.packageConfigJson);
|
||||
.getFolder(file_paths.dotDartTool)
|
||||
.getFile(file_paths.packageConfigJson);
|
||||
buf.writeln(
|
||||
formatOption('Has package_config.json file', packageConfig.exists),
|
||||
);
|
||||
|
||||
@@ -34,7 +34,7 @@ class ReanalyzeTest extends PubPackageAnalysisServerTest {
|
||||
}
|
||||
|
||||
Future<void> test_reanalyze() async {
|
||||
var b = getFolder(testPackageLibPath).parent.getChildAssumingFile('b.dart');
|
||||
var b = getFolder(testPackageLibPath).parent.getFile('b.dart');
|
||||
|
||||
var file = newFile('$testPackageTestPath/a.dart', r'''
|
||||
import '../b.dart';
|
||||
|
||||
@@ -51,9 +51,9 @@ class SetPriorityFilesTest extends PubPackageAnalysisServerTest {
|
||||
addTestFile('');
|
||||
// set priority files
|
||||
var file = sdkRoot
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('convert')
|
||||
.getChildAssumingFile('convert.dart');
|
||||
.getFolder('lib')
|
||||
.getFolder('convert')
|
||||
.getFile('convert.dart');
|
||||
var response = await _setPriorityFile(file);
|
||||
expect(response, isResponseSuccess('1'));
|
||||
// verify
|
||||
|
||||
@@ -93,8 +93,8 @@ mixin ConfigurationFilesMixin on MockPackagesMixin {
|
||||
);
|
||||
|
||||
var flutterTestRoot = resourceProvider.getFolder(flutterTestRootPath);
|
||||
var libFolder = flutterTestRoot.getChildAssumingFolder('lib')..create();
|
||||
libFolder.getChildAssumingFile('flutter_test.dart').writeAsStringSync(r'''
|
||||
var libFolder = flutterTestRoot.getFolder('lib')..create();
|
||||
libFolder.getFile('flutter_test.dart').writeAsStringSync(r'''
|
||||
void test(Object description, dynamic Function() body) {}
|
||||
|
||||
void group(Object description, void Function() body) {}
|
||||
@@ -118,11 +118,10 @@ void main() {
|
||||
var content = config.toContent();
|
||||
|
||||
var projectFolder = resourceProvider.getFolder(projectFolderPath);
|
||||
var dartToolFolder = projectFolder.getChildAssumingFolder(
|
||||
file_paths.dotDartTool,
|
||||
)..create();
|
||||
var dartToolFolder = projectFolder.getFolder(file_paths.dotDartTool)
|
||||
..create();
|
||||
dartToolFolder
|
||||
.getChildAssumingFile(file_paths.packageConfigJson)
|
||||
.getFile(file_paths.packageConfigJson)
|
||||
.writeAsStringSync(content);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ void buildTests({required String packagePath}) {
|
||||
|
||||
var libFolder = provider
|
||||
.getFolder(pkgRootPath)
|
||||
.getChildAssumingFolder(packagePath)
|
||||
.getChildAssumingFolder('lib');
|
||||
.getFolder(packagePath)
|
||||
.getFolder('lib');
|
||||
|
||||
for (var file in libFolder.allFiles) {
|
||||
if (file_paths.isDart(pathContext, file.path)) {
|
||||
|
||||
@@ -4702,9 +4702,11 @@ package:analyzer/file_system/file_system.dart:
|
||||
copyTo (method: Folder Function(Folder))
|
||||
create (method: void Function())
|
||||
getChild (method: Resource Function(String))
|
||||
getChildAssumingFile (method: File Function(String))
|
||||
getChildAssumingFolder (method: Folder Function(String))
|
||||
getChildAssumingFile (method: File Function(String), deprecated)
|
||||
getChildAssumingFolder (method: Folder Function(String), deprecated)
|
||||
getChildren (method: List<Resource> Function())
|
||||
getFile (method: File Function(String))
|
||||
getFolder (method: Folder Function(String))
|
||||
watch (method: ResourceWatcher Function())
|
||||
Link (class extends Object, abstract):
|
||||
new (constructor: Link Function())
|
||||
|
||||
@@ -94,19 +94,26 @@ abstract class Folder implements Resource {
|
||||
void create();
|
||||
|
||||
/// Return an existing child [Resource] with the given [relPath].
|
||||
/// Return a not existing [File] if no such child exist.
|
||||
///
|
||||
/// Return a non-existing [File] if no such child exists.
|
||||
Resource getChild(String relPath);
|
||||
|
||||
/// Return a [File] representing a child [Resource] with the given
|
||||
/// [relPath]. This call does not check whether a file with the given name
|
||||
/// exists on the filesystem - client must call the [File]'s `exists` getter
|
||||
/// to determine whether the folder actually exists.
|
||||
/// Return a [File] representing a child at the given [relPath].
|
||||
///
|
||||
/// This call does not check whether a file exists at the given path; clients
|
||||
/// must call the [File]'s `exists` getter to determine whether the file
|
||||
/// actually exists. If a folder exists at the path, the returned [File]'s
|
||||
/// `exists` getter returns `false`.
|
||||
@Deprecated('Use getFile instead.')
|
||||
File getChildAssumingFile(String relPath);
|
||||
|
||||
/// Return a [Folder] representing a child [Resource] with the given
|
||||
/// [relPath]. This call does not check whether a folder with the given name
|
||||
/// exists on the filesystem--client must call the [Folder]'s `exists` getter
|
||||
/// to determine whether the folder actually exists.
|
||||
/// Return a [Folder] representing a child at the given [relPath].
|
||||
///
|
||||
/// This call does not check whether a folder exists at the given path;
|
||||
/// clients must call the [Folder]'s `exists` getter to determine whether the
|
||||
/// folder actually exists. If a file exists at the path, the returned
|
||||
/// [Folder]'s `exists` getter returns `false`.
|
||||
@Deprecated('Use getFolder instead.')
|
||||
Folder getChildAssumingFolder(String relPath);
|
||||
|
||||
/// Return a list of existing direct children [Resource]s (folders and files)
|
||||
@@ -115,6 +122,22 @@ abstract class Folder implements Resource {
|
||||
/// On I/O errors, this will throw [FileSystemException].
|
||||
List<Resource> getChildren();
|
||||
|
||||
/// Return a [File] representing a child at the given [relPath].
|
||||
///
|
||||
/// This call does not check whether a file exists at the given path; clients
|
||||
/// must call the [File]'s `exists` getter to determine whether the file
|
||||
/// actually exists. If a folder exists at the path, the returned [File]'s
|
||||
/// `exists` getter returns `false`.
|
||||
File getFile(String relPath);
|
||||
|
||||
/// Return a [Folder] representing a child at the given [relPath].
|
||||
///
|
||||
/// This call does not check whether a folder exists at the given path;
|
||||
/// clients must call the [Folder]'s `exists` getter to determine whether the
|
||||
/// folder actually exists. If a file exists at the path, the returned
|
||||
/// [Folder]'s `exists` getter returns `false`.
|
||||
Folder getFolder(String relPath);
|
||||
|
||||
/// Watch for changes to the files inside this folder (and in any nested
|
||||
/// folders, including folders reachable via links).
|
||||
///
|
||||
|
||||
@@ -360,7 +360,7 @@ class _MemoryFile extends _MemoryResource implements File {
|
||||
@override
|
||||
File copyTo(Folder parentFolder) {
|
||||
parentFolder.create();
|
||||
File destination = parentFolder.getChildAssumingFile(shortName);
|
||||
File destination = parentFolder.getFile(shortName);
|
||||
destination.writeAsBytesSync(readAsBytesSync());
|
||||
return destination;
|
||||
}
|
||||
@@ -453,7 +453,7 @@ class _MemoryFolder extends _MemoryResource implements Folder {
|
||||
|
||||
@override
|
||||
Folder copyTo(Folder parentFolder) {
|
||||
Folder destination = parentFolder.getChildAssumingFolder(shortName);
|
||||
Folder destination = parentFolder.getFolder(shortName);
|
||||
destination.create();
|
||||
for (Resource child in getChildren()) {
|
||||
child.copyTo(destination);
|
||||
@@ -477,16 +477,16 @@ class _MemoryFolder extends _MemoryResource implements Folder {
|
||||
return provider.getResource(path);
|
||||
}
|
||||
|
||||
@Deprecated('Use getFile instead.')
|
||||
@override
|
||||
_MemoryFile getChildAssumingFile(String relPath) {
|
||||
var path = canonicalizePath(relPath);
|
||||
return _MemoryFile(provider, path);
|
||||
return getFile(relPath);
|
||||
}
|
||||
|
||||
@Deprecated('Use getFolder instead.')
|
||||
@override
|
||||
_MemoryFolder getChildAssumingFolder(String relPath) {
|
||||
var path = canonicalizePath(relPath);
|
||||
return _MemoryFolder(provider, path);
|
||||
return getFolder(relPath);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -531,6 +531,18 @@ class _MemoryFolder extends _MemoryResource implements Folder {
|
||||
return children;
|
||||
}
|
||||
|
||||
@override
|
||||
_MemoryFile getFile(String relPath) {
|
||||
var path = canonicalizePath(relPath);
|
||||
return _MemoryFile(provider, path);
|
||||
}
|
||||
|
||||
@override
|
||||
_MemoryFolder getFolder(String relPath) {
|
||||
var path = canonicalizePath(relPath);
|
||||
return _MemoryFolder(provider, path);
|
||||
}
|
||||
|
||||
@override
|
||||
bool isOrContains(String path) {
|
||||
if (path == this.path) {
|
||||
|
||||
@@ -262,7 +262,7 @@ class _OverlayFolder extends _OverlayResource implements Folder {
|
||||
|
||||
@override
|
||||
Folder copyTo(Folder parentFolder) {
|
||||
Folder destination = parentFolder.getChildAssumingFolder(shortName);
|
||||
Folder destination = parentFolder.getFolder(shortName);
|
||||
destination.create();
|
||||
for (Resource child in getChildren()) {
|
||||
child.copyTo(destination);
|
||||
@@ -279,13 +279,17 @@ class _OverlayFolder extends _OverlayResource implements Folder {
|
||||
Resource getChild(String relPath) =>
|
||||
_OverlayResource._from(provider, _folder.getChild(relPath));
|
||||
|
||||
@Deprecated('Use getFile instead.')
|
||||
@override
|
||||
File getChildAssumingFile(String relPath) =>
|
||||
_OverlayFile(provider, _folder.getChildAssumingFile(relPath));
|
||||
File getChildAssumingFile(String relPath) {
|
||||
return getFile(relPath);
|
||||
}
|
||||
|
||||
@Deprecated('Use getFolder instead.')
|
||||
@override
|
||||
Folder getChildAssumingFolder(String relPath) =>
|
||||
_OverlayFolder(provider, _folder.getChildAssumingFolder(relPath));
|
||||
Folder getChildAssumingFolder(String relPath) {
|
||||
return getFolder(relPath);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Resource> getChildren() {
|
||||
@@ -313,6 +317,14 @@ class _OverlayFolder extends _OverlayResource implements Folder {
|
||||
return children.values.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
File getFile(String relPath) =>
|
||||
_OverlayFile(provider, _folder.getFile(relPath));
|
||||
|
||||
@override
|
||||
Folder getFolder(String relPath) =>
|
||||
_OverlayFolder(provider, _folder.getFolder(relPath));
|
||||
|
||||
@override
|
||||
ResourceWatcher watch() => _folder.watch();
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ class _PhysicalFile extends _PhysicalResource implements File {
|
||||
@override
|
||||
File copyTo(Folder parentFolder) {
|
||||
parentFolder.create();
|
||||
File destination = parentFolder.getChildAssumingFile(shortName);
|
||||
File destination = parentFolder.getFile(shortName);
|
||||
destination.writeAsBytesSync(readAsBytesSync());
|
||||
return destination;
|
||||
}
|
||||
@@ -231,7 +231,7 @@ class _PhysicalFolder extends _PhysicalResource implements Folder {
|
||||
|
||||
@override
|
||||
Folder copyTo(Folder parentFolder) {
|
||||
Folder destination = parentFolder.getChildAssumingFolder(shortName);
|
||||
Folder destination = parentFolder.getFolder(shortName);
|
||||
destination.create();
|
||||
for (Resource child in getChildren()) {
|
||||
child.copyTo(destination);
|
||||
@@ -250,18 +250,16 @@ class _PhysicalFolder extends _PhysicalResource implements Folder {
|
||||
return PhysicalResourceProvider.INSTANCE.getResource(canonicalPath);
|
||||
}
|
||||
|
||||
@Deprecated('Use getFile instead.')
|
||||
@override
|
||||
_PhysicalFile getChildAssumingFile(String relPath) {
|
||||
String canonicalPath = canonicalizePath(relPath);
|
||||
io.File file = io.File(canonicalPath);
|
||||
return _PhysicalFile(file);
|
||||
return getFile(relPath);
|
||||
}
|
||||
|
||||
@Deprecated('Use getFolder instead.')
|
||||
@override
|
||||
_PhysicalFolder getChildAssumingFolder(String relPath) {
|
||||
String canonicalPath = canonicalizePath(relPath);
|
||||
io.Directory directory = io.Directory(canonicalPath);
|
||||
return _PhysicalFolder(directory);
|
||||
return getFolder(relPath);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -285,6 +283,20 @@ class _PhysicalFolder extends _PhysicalResource implements Folder {
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
_PhysicalFile getFile(String relPath) {
|
||||
String canonicalPath = canonicalizePath(relPath);
|
||||
io.File file = io.File(canonicalPath);
|
||||
return _PhysicalFile(file);
|
||||
}
|
||||
|
||||
@override
|
||||
_PhysicalFolder getFolder(String relPath) {
|
||||
String canonicalPath = canonicalizePath(relPath);
|
||||
io.Directory directory = io.Directory(canonicalPath);
|
||||
return _PhysicalFolder(directory);
|
||||
}
|
||||
|
||||
@override
|
||||
bool isOrContains(String path) {
|
||||
if (path == this.path) {
|
||||
|
||||
@@ -16,7 +16,7 @@ export 'package:analyzer/analysis_rule/analysis_rule.dart';
|
||||
bool _isInLibDir(String? filePath, WorkspacePackage? package) {
|
||||
if (package == null) return false;
|
||||
if (filePath == null) return false;
|
||||
var libDir = package.root.getChildAssumingFolder('lib');
|
||||
var libDir = package.root.getFolder('lib');
|
||||
return libDir.contains(filePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ const String _embedderFileName = '_embedder.yaml';
|
||||
/// If the file can be found, and contains a top level [YamlMap], then
|
||||
/// the [YamlMap] is returned. Otherwise, `null`` is returned.
|
||||
YamlMap? locateEmbedderYamlFor(Folder libFolder) {
|
||||
File file = libFolder.getChildAssumingFile(_embedderFileName);
|
||||
File file = libFolder.getFile(_embedderFileName);
|
||||
try {
|
||||
var embedderYaml = file.readAsStringSync();
|
||||
try {
|
||||
|
||||
@@ -15,8 +15,8 @@ Packages findPackagesFrom(ResourceProvider provider, Resource start) {
|
||||
var startFolder = start is Folder ? start : start.parent;
|
||||
for (var current in startFolder.withAncestors) {
|
||||
var jsonFile = current
|
||||
.getChildAssumingFolder('.dart_tool')
|
||||
.getChildAssumingFile('package_config.json');
|
||||
.getFolder('.dart_tool')
|
||||
.getFile('package_config.json');
|
||||
if (jsonFile.exists) {
|
||||
return parsePackageConfigJsonFile(provider, jsonFile);
|
||||
}
|
||||
|
||||
@@ -623,8 +623,8 @@ class _ContextLocator {
|
||||
/// folder does not contain a package config file.
|
||||
File? _getPackageConfigFile(Folder folder) {
|
||||
var file = folder
|
||||
.getChildAssumingFolder(file_paths.dotDartTool)
|
||||
.getChildAssumingFile(file_paths.packageConfigJson);
|
||||
.getFolder(file_paths.dotDartTool)
|
||||
.getFile(file_paths.packageConfigJson);
|
||||
if (file.exists) {
|
||||
return file;
|
||||
}
|
||||
@@ -653,9 +653,7 @@ class _ContextLocator {
|
||||
Set<Folder> _loadWorkspaceDetailsFromPubspec(String root) {
|
||||
var result = <Folder>{};
|
||||
var rootFolder = _resourceProvider.getFolder(root);
|
||||
var rootPubspecFile = rootFolder.getChildAssumingFile(
|
||||
file_paths.pubspecYaml,
|
||||
);
|
||||
var rootPubspecFile = rootFolder.getFile(file_paths.pubspecYaml);
|
||||
if (rootPubspecFile.exists) {
|
||||
var rootPubspec = Pubspec.parse(
|
||||
rootPubspecFile.readAsStringSync(),
|
||||
@@ -847,7 +845,7 @@ class _ContextLocator {
|
||||
workspaceResolutionRootMap[location.workspace.root] ?? [],
|
||||
);
|
||||
} else {
|
||||
var pubspecFile = folder.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = folder.getFile(file_paths.pubspecYaml);
|
||||
if (pubspecFile.exists) {
|
||||
var pubspec = Pubspec.parse(
|
||||
pubspecFile.readAsStringSync(),
|
||||
|
||||
@@ -69,9 +69,9 @@ class _PubFilter implements FileStateFilter {
|
||||
factory _PubFilter(PubPackage package, String path) {
|
||||
var packageRootFolder = package.root;
|
||||
var inLibOrEntryPoint =
|
||||
packageRootFolder.getChildAssumingFolder('lib').contains(path) ||
|
||||
packageRootFolder.getChildAssumingFolder('bin').contains(path) ||
|
||||
packageRootFolder.getChildAssumingFolder('web').contains(path);
|
||||
packageRootFolder.getFolder('lib').contains(path) ||
|
||||
packageRootFolder.getFolder('bin').contains(path) ||
|
||||
packageRootFolder.getFolder('web').contains(path);
|
||||
|
||||
var dependencies = <String>{};
|
||||
var pubspec = package.pubspec;
|
||||
|
||||
@@ -223,8 +223,8 @@ class EmbedderSdk extends AbstractDartSdk {
|
||||
var embeddedFolder = coreFile.parent.parent;
|
||||
try {
|
||||
return embeddedFolder
|
||||
.getChildAssumingFolder('_internal')
|
||||
.getChildAssumingFile('allowed_experiments.json')
|
||||
.getFolder('_internal')
|
||||
.getFile('allowed_experiments.json')
|
||||
.readAsStringSync();
|
||||
} catch (_) {}
|
||||
}
|
||||
@@ -400,9 +400,9 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
@override
|
||||
String get allowedExperimentsJson {
|
||||
return _sdkDirectory
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('_internal')
|
||||
.getChildAssumingFile('allowed_experiments.json')
|
||||
.getFolder('lib')
|
||||
.getFolder('_internal')
|
||||
.getFile('allowed_experiments.json')
|
||||
.readAsStringSync();
|
||||
}
|
||||
|
||||
@@ -410,14 +410,13 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
Folder get directory => _sdkDirectory;
|
||||
|
||||
/// Return the directory containing documentation for the SDK.
|
||||
Folder get docDirectory =>
|
||||
_sdkDirectory.getChildAssumingFolder(_docsDirectoryName);
|
||||
Folder get docDirectory => _sdkDirectory.getFolder(_docsDirectoryName);
|
||||
|
||||
@override
|
||||
Version get languageVersion {
|
||||
if (_languageVersion == null) {
|
||||
var sdkVersionStr = _sdkDirectory
|
||||
.getChildAssumingFile(_versionFileName)
|
||||
.getFile(_versionFileName)
|
||||
.readAsStringSync();
|
||||
_languageVersion = languageVersionFromSdkVersion(sdkVersionStr);
|
||||
}
|
||||
@@ -427,17 +426,15 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
|
||||
/// Return the directory within the SDK directory that contains the libraries.
|
||||
Folder get libraryDirectory {
|
||||
return _libraryDirectory ??= _sdkDirectory.getChildAssumingFolder(
|
||||
_libDirectoryName,
|
||||
);
|
||||
return _libraryDirectory ??= _sdkDirectory.getFolder(_libDirectoryName);
|
||||
}
|
||||
|
||||
/// Return the file containing the Pub executable, or `null` if it does not
|
||||
/// exist.
|
||||
File get pubExecutable {
|
||||
return _pubExecutable ??= _sdkDirectory
|
||||
.getChildAssumingFolder(_binDirectoryName)
|
||||
.getChildAssumingFile(
|
||||
.getFolder(_binDirectoryName)
|
||||
.getFile(
|
||||
OSUtilities.isWindows() ? _pubExecutableNameWin : _pubExecutableName,
|
||||
);
|
||||
}
|
||||
@@ -447,7 +444,7 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
@override
|
||||
String get sdkVersion {
|
||||
if (_sdkVersion == null) {
|
||||
File revisionFile = _sdkDirectory.getChildAssumingFile(_versionFileName);
|
||||
File revisionFile = _sdkDirectory.getFile(_versionFileName);
|
||||
try {
|
||||
String revision = revisionFile.readAsStringSync();
|
||||
_sdkVersion = revision.trim();
|
||||
@@ -461,13 +458,11 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
/// Determine the search order for trying to locate the [_librariesFile].
|
||||
Iterable<File> get _libraryMapLocations sync* {
|
||||
yield libraryDirectory
|
||||
.getChildAssumingFolder(_internalDir)
|
||||
.getChildAssumingFolder(_sdkLibraryMetadataDir)
|
||||
.getChildAssumingFolder(_sdkLibraryMetadataLibDir)
|
||||
.getChildAssumingFile(_librariesFile);
|
||||
yield libraryDirectory
|
||||
.getChildAssumingFolder(_internalDir)
|
||||
.getChildAssumingFile(_librariesFile);
|
||||
.getFolder(_internalDir)
|
||||
.getFolder(_sdkLibraryMetadataDir)
|
||||
.getFolder(_sdkLibraryMetadataLibDir)
|
||||
.getFile(_librariesFile);
|
||||
yield libraryDirectory.getFolder(_internalDir).getFile(_librariesFile);
|
||||
}
|
||||
|
||||
/// Return info for debugging https://github.com/dart-lang/sdk/issues/35226.
|
||||
@@ -534,9 +529,9 @@ class FolderBasedDartSdk extends AbstractDartSdk {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
File file = libraryDirectory.getChildAssumingFile(library.path);
|
||||
File file = libraryDirectory.getFile(library.path);
|
||||
if (relativePath.isNotEmpty) {
|
||||
File relativeFile = file.parent.getChildAssumingFile(relativePath);
|
||||
File relativeFile = file.parent.getFile(relativePath);
|
||||
if (relativeFile.path == file.path) {
|
||||
// The relative file is the library, so return a Source for the
|
||||
// library rather than the part format.
|
||||
|
||||
@@ -87,7 +87,7 @@ bool _assetExistsAtPath(PubspecValidationContext ctx, String assetPath) {
|
||||
}
|
||||
for (var child in assetFolder.getChildren()) {
|
||||
if (child is Folder) {
|
||||
var innerFile = child.getChildAssumingFile(fileName);
|
||||
var innerFile = child.getFile(fileName);
|
||||
if (innerFile.exists) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ class PackageMapUriResolver extends UriResolver {
|
||||
if (packageDirs != null) {
|
||||
Folder packageDir = packageDirs.single;
|
||||
String relPath = pathSegments.skip(1).join('/');
|
||||
File file = packageDir.getChildAssumingFile(relPath);
|
||||
File file = packageDir.getFile(relPath);
|
||||
return FileSource(file, uri);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -11,8 +11,8 @@ import 'package:analyzer/file_system/file_system.dart';
|
||||
class MockPackages {
|
||||
/// Create a fake 'angular' package that can be used by tests.
|
||||
static void addAngularMetaPackageFiles(Folder rootFolder) {
|
||||
var libFolder = rootFolder.getChildAssumingFolder('lib');
|
||||
libFolder.getChildAssumingFile('angular_meta.dart').writeAsStringSync(r'''
|
||||
var libFolder = rootFolder.getFolder('lib');
|
||||
libFolder.getFile('angular_meta.dart').writeAsStringSync(r'''
|
||||
library angular.meta;
|
||||
|
||||
const _VisibleForTemplate visibleForTemplate = const _VisibleForTemplate();
|
||||
@@ -31,8 +31,8 @@ class _VisibleOutsideTemplate {
|
||||
|
||||
/// Create a fake 'ffi' package that can be used by tests.
|
||||
static void addFfiPackageFiles(Folder rootFolder) {
|
||||
var libFolder = rootFolder.getChildAssumingFolder('lib');
|
||||
libFolder.getChildAssumingFile('ffi.dart').writeAsStringSync(r'''
|
||||
var libFolder = rootFolder.getFolder('lib');
|
||||
libFolder.getFile('ffi.dart').writeAsStringSync(r'''
|
||||
import 'dart:ffi';
|
||||
|
||||
const Allocator calloc = _CallocAllocator();
|
||||
@@ -58,8 +58,8 @@ class _CallocAllocator implements Allocator {
|
||||
|
||||
/// 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'''
|
||||
var libFolder = rootFolder.getFolder('lib');
|
||||
libFolder.getFile('js.dart').writeAsStringSync(r'''
|
||||
library js;
|
||||
|
||||
// ignore: EXPORT_INTERNAL_LIBRARY
|
||||
@@ -69,8 +69,8 @@ export 'dart:_js_annotations' show JS, staticInterop;
|
||||
|
||||
/// Create a fake 'kernel' package that can be used by tests.
|
||||
static void addKernelPackageFiles(Folder rootFolder) {
|
||||
var libFolder = rootFolder.getChildAssumingFolder('lib');
|
||||
libFolder.getChildAssumingFile('ast.dart').writeAsStringSync(r'''
|
||||
var libFolder = rootFolder.getFolder('lib');
|
||||
libFolder.getFile('ast.dart').writeAsStringSync(r'''
|
||||
library kernel.ast;
|
||||
|
||||
abstract class Node {}
|
||||
@@ -81,9 +81,9 @@ class InterfaceType extends DartType {}
|
||||
|
||||
/// Create a fake 'meta' package that can be used by tests.
|
||||
static void addMetaPackageFiles(Folder rootFolder) {
|
||||
var libFolder = rootFolder.getChildAssumingFolder('lib');
|
||||
var libFolder = rootFolder.getFolder('lib');
|
||||
libFolder.create();
|
||||
libFolder.getChildAssumingFile('meta.dart').writeAsStringSync(r'''
|
||||
libFolder.getFile('meta.dart').writeAsStringSync(r'''
|
||||
library meta;
|
||||
|
||||
import 'meta_meta.dart';
|
||||
@@ -323,7 +323,7 @@ class _VisibleForTesting {
|
||||
const _VisibleForTesting();
|
||||
}
|
||||
''');
|
||||
libFolder.getChildAssumingFile('meta_meta.dart').writeAsStringSync(r'''
|
||||
libFolder.getFile('meta_meta.dart').writeAsStringSync(r'''
|
||||
library meta_meta;
|
||||
|
||||
@Target({TargetKind.classType})
|
||||
|
||||
@@ -1920,19 +1920,19 @@ void createMockSdk({
|
||||
required Folder root,
|
||||
@internal List<MockSdkLibrary> additionalLibraries = const [],
|
||||
}) {
|
||||
var lib = root.getChildAssumingFolder('lib');
|
||||
var libInternal = lib.getChildAssumingFolder('_internal');
|
||||
var lib = root.getFolder('lib');
|
||||
var libInternal = lib.getFolder('_internal');
|
||||
|
||||
var currentVersion = ExperimentStatus.currentVersion;
|
||||
var currentVersionStr = '${currentVersion.major}.${currentVersion.minor}.0';
|
||||
root.getChildAssumingFile('version').writeAsStringSync(currentVersionStr);
|
||||
root.getFile('version').writeAsStringSync(currentVersionStr);
|
||||
|
||||
var librariesBuffer = StringBuffer();
|
||||
librariesBuffer.writeln('const Map<String, LibraryInfo> libraries = const {');
|
||||
|
||||
for (var library in [..._libraries, ...additionalLibraries]) {
|
||||
for (var unit in library.units) {
|
||||
var file = lib.getChildAssumingFile(unit.path);
|
||||
var file = lib.getFile(unit.path);
|
||||
file.writeAsStringSync(unit.content);
|
||||
}
|
||||
librariesBuffer.writeln(
|
||||
@@ -1943,11 +1943,11 @@ void createMockSdk({
|
||||
|
||||
librariesBuffer.writeln('};');
|
||||
libInternal
|
||||
.getChildAssumingFile('sdk_library_metadata/lib/libraries.dart')
|
||||
.getFile('sdk_library_metadata/lib/libraries.dart')
|
||||
.writeAsStringSync('$librariesBuffer');
|
||||
|
||||
libInternal
|
||||
.getChildAssumingFile('allowed_experiments.json')
|
||||
.getFile('allowed_experiments.json')
|
||||
.writeAsStringSync(
|
||||
json.encode({
|
||||
'version': 1,
|
||||
|
||||
@@ -27,7 +27,7 @@ extension FolderExtension on Folder {
|
||||
/// If the target contains an existing file with the given [name], then
|
||||
/// returns it. Otherwise, return `null`.
|
||||
File? getExistingFile(String name) {
|
||||
var file = getChildAssumingFile(name);
|
||||
var file = getFile(name);
|
||||
return file.exists ? file : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@ class BlazeWorkspace extends Workspace
|
||||
return null;
|
||||
}
|
||||
|
||||
if (folder.getChildAssumingFile(_buildFileName).exists) {
|
||||
if (folder.getFile(_buildFileName).exists) {
|
||||
// Found the BUILD file, denoting a Dart package.
|
||||
return packageRootedAt(folder);
|
||||
}
|
||||
@@ -467,7 +467,7 @@ class BlazeWorkspace extends Workspace
|
||||
for (var folder in startFolder.withAncestors) {
|
||||
var parent = folder.parent;
|
||||
|
||||
var blazeOutFolder = parent.getChildAssumingFolder('blaze-out');
|
||||
var blazeOutFolder = parent.getFolder('blaze-out');
|
||||
if (blazeOutFolder.exists) {
|
||||
// Found the "out" folder; must be a Blaze workspace.
|
||||
String root = parent.path;
|
||||
@@ -484,7 +484,7 @@ class BlazeWorkspace extends Workspace
|
||||
}
|
||||
|
||||
// Found the WORKSPACE file, must be a non-git workspace.
|
||||
if (folder.getChildAssumingFile(file_paths.blazeWorkspaceMarker).exists) {
|
||||
if (folder.getFile(file_paths.blazeWorkspaceMarker).exists) {
|
||||
String root = folder.path;
|
||||
var binPaths = _findBinFolderPaths(folder);
|
||||
binPaths = binPaths..add(context.join(root, 'blaze-bin'));
|
||||
@@ -509,8 +509,8 @@ class BlazeWorkspace extends Workspace
|
||||
/// available.
|
||||
static BlazeWorkspace forBuild({required Folder root}) {
|
||||
var provider = root.provider;
|
||||
var blazeBin = root.getChildAssumingFolder('blaze-bin');
|
||||
var blazeGenfiles = root.getChildAssumingFolder('blaze-genfiles');
|
||||
var blazeBin = root.getFolder('blaze-bin');
|
||||
var blazeGenfiles = root.getFolder('blaze-genfiles');
|
||||
|
||||
var binPaths = _findBinFolderPaths(root);
|
||||
binPaths.add(blazeBin.path);
|
||||
@@ -536,7 +536,7 @@ class BlazeWorkspace extends Workspace
|
||||
/// If no "bin" folder is found in any of those locations, empty list is
|
||||
/// returned.
|
||||
static List<String> _findBinFolderPaths(Folder root) {
|
||||
var out = root.getChildAssumingFolder('blaze-out');
|
||||
var out = root.getFolder('blaze-out');
|
||||
if (!out.exists) {
|
||||
return [];
|
||||
}
|
||||
@@ -545,7 +545,7 @@ class BlazeWorkspace extends Workspace
|
||||
for (var child in out.getChildren().whereType<Folder>()) {
|
||||
// Children are folders denoting architectures and build flags, like
|
||||
// 'k8-opt', 'k8-fastbuild', perhaps 'host'.
|
||||
Folder possibleBin = child.getChildAssumingFolder('bin');
|
||||
Folder possibleBin = child.getFolder('bin');
|
||||
if (possibleBin.exists) {
|
||||
binPaths.add(possibleBin.path);
|
||||
}
|
||||
@@ -647,58 +647,58 @@ class BlazeWorkspacePackage extends WorkspacePackageImpl {
|
||||
return true;
|
||||
}
|
||||
|
||||
var libFolder = root.getChildAssumingFolder('lib');
|
||||
var libSrcFolder = libFolder.getChildAssumingFolder('src');
|
||||
var libSrcTestingFolder = libSrcFolder.getChildAssumingFolder('testing');
|
||||
var libFolder = root.getFolder('lib');
|
||||
var libSrcFolder = libFolder.getFolder('src');
|
||||
var libSrcTestingFolder = libSrcFolder.getFolder('testing');
|
||||
if (libSrcTestingFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var libTestDriverFolder = libFolder.getChildAssumingFolder('test_driver');
|
||||
var libTestDriverFolder = libFolder.getFolder('test_driver');
|
||||
if (libTestDriverFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for (var binPath in workspace.binPaths) {
|
||||
var binFolder = workspace.provider.getFolder(binPath);
|
||||
var genPackageRoot = binFolder.getChildAssumingFolder(relativeRoot);
|
||||
var genPackageRoot = binFolder.getFolder(relativeRoot);
|
||||
if (isInTestDirectoryUnder(genPackageRoot, file)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var genLibSrcTestingFolder = genPackageRoot
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('src')
|
||||
.getChildAssumingFolder('testing');
|
||||
.getFolder('lib')
|
||||
.getFolder('src')
|
||||
.getFolder('testing');
|
||||
if (genLibSrcTestingFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var genLibTestDriverFolder = genPackageRoot
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('test_driver');
|
||||
.getFolder('lib')
|
||||
.getFolder('test_driver');
|
||||
if (genLibTestDriverFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
var genfilesFolder = workspace.provider.getFolder(workspace.genfiles);
|
||||
var genPackageRoot = genfilesFolder.getChildAssumingFolder(relativeRoot);
|
||||
var genPackageRoot = genfilesFolder.getFolder(relativeRoot);
|
||||
if (isInTestDirectoryUnder(genPackageRoot, file)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var genLibSrcTestingFolder = genPackageRoot
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('src')
|
||||
.getChildAssumingFolder('testing');
|
||||
.getFolder('lib')
|
||||
.getFolder('src')
|
||||
.getFolder('testing');
|
||||
if (genLibSrcTestingFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var genLibTestDriverFolder = genPackageRoot
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('test_driver');
|
||||
.getFolder('lib')
|
||||
.getFolder('test_driver');
|
||||
if (genLibTestDriverFolder.contains(file.path)) {
|
||||
return true;
|
||||
}
|
||||
@@ -716,10 +716,10 @@ class BlazeWorkspacePackage extends WorkspacePackageImpl {
|
||||
var filePath = filePathFromSource(source);
|
||||
if (filePath == null) return false;
|
||||
|
||||
var libFolder = root.getChildAssumingFolder('lib');
|
||||
var libFolder = root.getFolder('lib');
|
||||
if (libFolder.contains(filePath)) {
|
||||
// A file in "$root/lib" is public iff it is not in "$root/lib/src".
|
||||
var libSrcFolder = libFolder.getChildAssumingFolder('src');
|
||||
var libSrcFolder = libFolder.getFolder('src');
|
||||
return !libSrcFolder.contains(filePath);
|
||||
}
|
||||
|
||||
@@ -729,24 +729,22 @@ class BlazeWorkspacePackage extends WorkspacePackageImpl {
|
||||
);
|
||||
for (var binPath in workspace.binPaths) {
|
||||
Folder bin = workspace.provider.getFolder(binPath);
|
||||
libFolder = bin
|
||||
.getChildAssumingFolder(relativeRoot)
|
||||
.getChildAssumingFolder('lib');
|
||||
libFolder = bin.getFolder(relativeRoot).getFolder('lib');
|
||||
if (libFolder.contains(filePath)) {
|
||||
// A file in "$bin/lib" is public iff it is not in "$bin/lib/src".
|
||||
var libSrcFolder = libFolder.getChildAssumingFolder('src');
|
||||
var libSrcFolder = libFolder.getFolder('src');
|
||||
return !libSrcFolder.contains(filePath);
|
||||
}
|
||||
}
|
||||
|
||||
libFolder = workspace.provider
|
||||
.getFolder(workspace.genfiles)
|
||||
.getChildAssumingFolder(relativeRoot)
|
||||
.getChildAssumingFolder('lib');
|
||||
.getFolder(relativeRoot)
|
||||
.getFolder('lib');
|
||||
if (libFolder.contains(filePath)) {
|
||||
// A file in "$genfiles/lib" is public iff it is not in
|
||||
// "$genfiles/lib/src".
|
||||
var libSrcFolder = libFolder.getChildAssumingFolder('src');
|
||||
var libSrcFolder = libFolder.getFolder('src');
|
||||
return !libSrcFolder.contains(filePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ class GnWorkspace extends Workspace {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (folder.getChildAssumingFile(file_paths.buildGn).exists) {
|
||||
if (folder.getFile(file_paths.buildGn).exists) {
|
||||
return GnWorkspacePackage(folder, this);
|
||||
}
|
||||
}
|
||||
@@ -107,7 +107,7 @@ class GnWorkspace extends Workspace {
|
||||
var provider = buildGnFile.provider;
|
||||
|
||||
for (var folder in buildGnFile.parent.withAncestors) {
|
||||
if (folder.getChildAssumingFolder(_jiriRootName).exists) {
|
||||
if (folder.getFolder(_jiriRootName).exists) {
|
||||
// Found the .jiri_root file, must be a non-git workspace.
|
||||
String root = folder.path;
|
||||
|
||||
@@ -156,7 +156,7 @@ class GnWorkspace extends Workspace {
|
||||
if (outDirectory == null) {
|
||||
return const <File>[];
|
||||
}
|
||||
Folder genDir = outDirectory.getChildAssumingFolder(
|
||||
Folder genDir = outDirectory.getFolder(
|
||||
pathContext.join('dartlang', 'gen', sourceDirectory),
|
||||
);
|
||||
if (!genDir.exists) {
|
||||
@@ -243,11 +243,9 @@ class GnWorkspacePackage extends WorkspacePackageImpl {
|
||||
bool sourceIsInPublicApi(Source source) {
|
||||
var filePath = filePathFromSource(source);
|
||||
if (filePath == null) return false;
|
||||
var libFolder = root.getChildAssumingFolder('lib');
|
||||
var libFolder = root.getFolder('lib');
|
||||
if (libFolder.contains(filePath)) {
|
||||
var libSrcFolder = root
|
||||
.getChildAssumingFolder('lib')
|
||||
.getChildAssumingFolder('src');
|
||||
var libSrcFolder = root.getFolder('lib').getFolder('src');
|
||||
return !libSrcFolder.contains(filePath);
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -212,9 +212,7 @@ class PackageConfigWorkspace extends SimpleWorkspace {
|
||||
this.packageConfigFile,
|
||||
) {
|
||||
_packageConfigContent = packageConfigFile.readAsStringSync();
|
||||
var pubspecFile = provider
|
||||
.getFolder(root)
|
||||
.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspecFile = provider.getFolder(root).getFile(file_paths.pubspecYaml);
|
||||
if (pubspecFile.exists) {
|
||||
var pubspec = Pubspec.parse(
|
||||
pubspecFile.readAsStringSync(),
|
||||
@@ -340,7 +338,7 @@ class PackageConfigWorkspace extends SimpleWorkspace {
|
||||
}
|
||||
return package;
|
||||
}
|
||||
var pubspec = current.getChildAssumingFile(file_paths.pubspecYaml);
|
||||
var pubspec = current.getFile(file_paths.pubspecYaml);
|
||||
if (pubspec.exists) {
|
||||
if (_isInThirdPartyDart(pubspec)) {
|
||||
return null;
|
||||
@@ -385,8 +383,8 @@ class PackageConfigWorkspace extends SimpleWorkspace {
|
||||
var start = provider.getFolder(filePath);
|
||||
for (var current in start.withAncestors) {
|
||||
var packageConfigFile = current
|
||||
.getChildAssumingFolder(file_paths.dotDartTool)
|
||||
.getChildAssumingFile(file_paths.packageConfigJson);
|
||||
.getFolder(file_paths.dotDartTool)
|
||||
.getFile(file_paths.packageConfigJson);
|
||||
if (packageConfigFile.exists) {
|
||||
var root = current.path;
|
||||
return PackageConfigWorkspace(
|
||||
@@ -500,10 +498,10 @@ class PubPackage extends WorkspacePackageImpl {
|
||||
}
|
||||
|
||||
var generatedRoot = _generatedPathParts.fold(root, (current, segment) {
|
||||
return current.getChildAssumingFolder(segment);
|
||||
return current.getFolder(segment);
|
||||
});
|
||||
|
||||
return generatedRoot.getChildAssumingFolder(packageName);
|
||||
return generatedRoot.getFolder(packageName);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -551,13 +549,13 @@ class PubPackage extends WorkspacePackageImpl {
|
||||
if (filePath == null) return false;
|
||||
|
||||
bool sourceIsInPublicApiUnder(Folder root, String filePath) {
|
||||
var libFolder = root.getChildAssumingFolder('lib');
|
||||
var libFolder = root.getFolder('lib');
|
||||
if (!libFolder.contains(filePath)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// A file in "$root/lib" is public iff it is not in "$root/lib/src".
|
||||
var libSrcFolder = libFolder.getChildAssumingFolder('src');
|
||||
var libSrcFolder = libFolder.getFolder('src');
|
||||
return !libSrcFolder.contains(filePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -100,8 +100,8 @@ abstract class WorkspacePackageImpl implements WorkspacePackage {
|
||||
/// listed in the 'dev_dependencies' section of the 'pubspec.yaml' file.
|
||||
bool canBeDevDependency(Source source) {
|
||||
var cuPath = source.fullName;
|
||||
var libDir = root.getChildAssumingFolder('lib');
|
||||
var binDir = root.getChildAssumingFolder('bin');
|
||||
var libDir = root.getFolder('lib');
|
||||
var binDir = root.getFolder('bin');
|
||||
return !(libDir.contains(cuPath) || binDir.contains(cuPath));
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ abstract class WorkspacePackageImpl implements WorkspacePackage {
|
||||
@protected
|
||||
bool isInTestDirectoryUnder(Folder root, File file) {
|
||||
return _testDirectoryNames.any((name) {
|
||||
return root.getChildAssumingFolder(name).contains(file.path);
|
||||
return root.getFolder(name).contains(file.path);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -732,62 +732,10 @@ mixin FolderTestMixin implements FileSystemTestSupport {
|
||||
expect(child.exists, isTrue);
|
||||
}
|
||||
|
||||
test_getChildAssumingFile_doesNotExist() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
|
||||
File child = folder.getChildAssumingFile('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getChildAssumingFile_file() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFile(exists: true, filePath: join(defaultFolderPath, 'myFile'));
|
||||
|
||||
File child = folder.getChildAssumingFile('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isTrue);
|
||||
}
|
||||
|
||||
test_getChildAssumingFile_folder() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFolder(exists: true, folderPath: join(defaultFolderPath, 'myFolder'));
|
||||
|
||||
File child = folder.getChildAssumingFile('myFolder');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getChildAssumingFolder_doesNotExist() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
|
||||
Folder child = folder.getChildAssumingFolder('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getChildAssumingFolder_file() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFile(exists: true, filePath: join(defaultFolderPath, 'myFile'));
|
||||
|
||||
Folder child = folder.getChildAssumingFolder('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getChildAssumingFolder_folder() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFolder(exists: true, folderPath: join(defaultFolderPath, 'myFolder'));
|
||||
|
||||
Folder child = folder.getChildAssumingFolder('myFolder');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isTrue);
|
||||
}
|
||||
|
||||
test_getChildren_doesNotExist() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
|
||||
folder = folder.getChildAssumingFolder('no-such-folder');
|
||||
folder = folder.getFolder('no-such-folder');
|
||||
expect(() => folder.getChildren(), throwsA(isFileSystemException));
|
||||
}
|
||||
|
||||
@@ -878,6 +826,58 @@ mixin FolderTestMixin implements FileSystemTestSupport {
|
||||
expect(bar_b.resolveSymbolicLinksSync(), foo_b);
|
||||
}
|
||||
|
||||
test_getFile_doesNotExist() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
|
||||
File child = folder.getFile('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getFile_file() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFile(exists: true, filePath: join(defaultFolderPath, 'myFile'));
|
||||
|
||||
File child = folder.getFile('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isTrue);
|
||||
}
|
||||
|
||||
test_getFile_folder() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFolder(exists: true, folderPath: join(defaultFolderPath, 'myFolder'));
|
||||
|
||||
File child = folder.getFile('myFolder');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getFolder_doesNotExist() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
|
||||
Folder child = folder.getFolder('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getFolder_file() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFile(exists: true, filePath: join(defaultFolderPath, 'myFile'));
|
||||
|
||||
Folder child = folder.getFolder('myFile');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isFalse);
|
||||
}
|
||||
|
||||
test_getFolder_folder() {
|
||||
Folder folder = getFolder(exists: true);
|
||||
getFolder(exists: true, folderPath: join(defaultFolderPath, 'myFolder'));
|
||||
|
||||
Folder child = folder.getFolder('myFolder');
|
||||
expect(child, isNotNull);
|
||||
expect(child.exists, isTrue);
|
||||
}
|
||||
|
||||
test_hashCode() {
|
||||
Folder folder1 = getFolder(exists: false);
|
||||
Folder folder2 = getFolder(exists: false);
|
||||
|
||||
@@ -559,18 +559,6 @@ class FolderTest extends OverlayTestSupport {
|
||||
expect(child, _isFolder);
|
||||
}
|
||||
|
||||
test_getChildAssumingFile() {
|
||||
Folder folder = _folder(exists: true);
|
||||
File child = folder.getChildAssumingFile('README.md');
|
||||
expect(child, isNotNull);
|
||||
}
|
||||
|
||||
test_getChildAssumingFolder() {
|
||||
Folder folder = _folder(exists: true);
|
||||
Folder child = folder.getChildAssumingFolder('lib');
|
||||
expect(child, isNotNull);
|
||||
}
|
||||
|
||||
test_getChildren_existing() {
|
||||
Folder folder = _folder(exists: true);
|
||||
Folder child1 = _folder(
|
||||
@@ -643,6 +631,18 @@ class FolderTest extends OverlayTestSupport {
|
||||
expect(children[0], _isFolder);
|
||||
}
|
||||
|
||||
test_getFile() {
|
||||
Folder folder = _folder(exists: true);
|
||||
File child = folder.getFile('README.md');
|
||||
expect(child, isNotNull);
|
||||
}
|
||||
|
||||
test_getFolder() {
|
||||
Folder folder = _folder(exists: true);
|
||||
Folder child = folder.getFolder('lib');
|
||||
expect(child, isNotNull);
|
||||
}
|
||||
|
||||
test_isOrContains_false() {
|
||||
Folder folder = _folder(exists: true);
|
||||
expect(folder.isOrContains(convertPath('/foo/baz')), isFalse);
|
||||
|
||||
@@ -119,7 +119,7 @@ class PhysicalFileTest extends BaseTest with FileTestMixin {
|
||||
|
||||
test_exists_invalidPath() {
|
||||
Folder folder = getFolder(exists: false);
|
||||
File file = folder.getChildAssumingFile(r'\l\package:o\other.dart');
|
||||
File file = folder.getFile(r'\l\package:o\other.dart');
|
||||
|
||||
expect(file.exists, isFalse);
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ analyzer:
|
||||
|
||||
YamlMap _getOptions(String posixPath) {
|
||||
var folder = getFolder(posixPath);
|
||||
var file = folder.getChildAssumingFile(file_paths.analysisOptionsYaml);
|
||||
var file = folder.getFile(file_paths.analysisOptionsYaml);
|
||||
var sourceFactory = SourceFactory([ResourceUriResolver(resourceProvider)]);
|
||||
return AnalysisOptionsProvider(sourceFactory).getOptionsFromFile(file);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ class ContextBuilderImplTest with ResourceProviderMixin {
|
||||
assertEquals(context.driver.declaredVariables, declaredVariables);
|
||||
expect(
|
||||
context.driver.sourceFactory.dartSdk!.mapDartUri('dart:core')!.fullName,
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').path,
|
||||
sdkRoot.getFile('lib/core/core.dart').path,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ class ContextBuilderImplTest with ResourceProviderMixin {
|
||||
expect(context.contextRoot, contextRoot);
|
||||
expect(
|
||||
context.driver.sourceFactory.dartSdk!.mapDartUri('dart:core')!.fullName,
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').path,
|
||||
sdkRoot.getFile('lib/core/core.dart').path,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@ void f() {
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
driver.addFile2(a);
|
||||
@@ -362,7 +362,7 @@ void f() {
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
driver.addFile2(a);
|
||||
@@ -1525,10 +1525,10 @@ final v = 2;
|
||||
expect(
|
||||
driver.knownFiles.resources,
|
||||
containsAll([
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart'),
|
||||
sdkRoot.getChildAssumingFile('lib/collection/collection.dart'),
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart'),
|
||||
sdkRoot.getChildAssumingFile('lib/math/math.dart'),
|
||||
sdkRoot.getFile('lib/async/async.dart'),
|
||||
sdkRoot.getFile('lib/collection/collection.dart'),
|
||||
sdkRoot.getFile('lib/core/core.dart'),
|
||||
sdkRoot.getFile('lib/math/math.dart'),
|
||||
]),
|
||||
);
|
||||
}
|
||||
@@ -1671,7 +1671,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getErrors('A1', a);
|
||||
@@ -1689,7 +1689,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getErrors('A1', a);
|
||||
@@ -2073,7 +2073,7 @@ void f() {
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getIndex('A1', a);
|
||||
@@ -2089,7 +2089,7 @@ void f() {
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getIndex('A1', a);
|
||||
@@ -2161,7 +2161,7 @@ class B {}
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getLibraryByUri('A1', 'package:test/a.dart');
|
||||
@@ -2179,7 +2179,7 @@ class B {}
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getLibraryByUri('A1', 'package:test/a.dart');
|
||||
@@ -2436,7 +2436,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedLibrary('A1', a);
|
||||
@@ -2457,7 +2457,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedLibrary('A1', a);
|
||||
@@ -2629,7 +2629,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedLibraryByUri('A1', Uri.parse('package:test/a.dart'));
|
||||
@@ -2650,7 +2650,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedLibraryByUri('A1', Uri.parse('package:test/a.dart'));
|
||||
@@ -2988,7 +2988,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedUnit('A1', a);
|
||||
@@ -3009,7 +3009,7 @@ part of 'a.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getResolvedUnit('A1', a);
|
||||
@@ -3441,7 +3441,7 @@ import 'package:test/b.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/async/async.dart').delete();
|
||||
sdkRoot.getFile('lib/async/async.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getUnitElement('A1', a);
|
||||
@@ -3459,7 +3459,7 @@ import 'package:test/b.dart';
|
||||
var driver = driverFor(testFile);
|
||||
var collector = DriverEventCollector(driver);
|
||||
|
||||
sdkRoot.getChildAssumingFile('lib/core/core.dart').delete();
|
||||
sdkRoot.getFile('lib/core/core.dart').delete();
|
||||
|
||||
var a = newFile('$testPackageLibPath/a.dart', '');
|
||||
collector.getUnitElement('A1', a);
|
||||
@@ -38189,7 +38189,7 @@ library;
|
||||
[status] idle
|
||||
''',
|
||||
updateFiles: () {
|
||||
var core = sdkRoot.getChildAssumingFile('lib/core/core.dart');
|
||||
var core = sdkRoot.getFile('lib/core/core.dart');
|
||||
var newCode = core.readAsStringSync().replaceFirst(
|
||||
'abstract final class int extends num {',
|
||||
'@deprecated abstract final class int extends num {',
|
||||
|
||||
@@ -140,10 +140,7 @@ class FolderBasedDartSdkTest with ResourceProviderMixin {
|
||||
void test_fromFile_library() {
|
||||
FolderBasedDartSdk sdk = _createDartSdk();
|
||||
var source = sdk.fromFileUri(
|
||||
sdk.libraryDirectory
|
||||
.getChildAssumingFolder("core")
|
||||
.getChildAssumingFile("core.dart")
|
||||
.toUri(),
|
||||
sdk.libraryDirectory.getFolder("core").getFile("core.dart").toUri(),
|
||||
)!;
|
||||
expect(source, isNotNull);
|
||||
expect(source.uri.toString(), "dart:core");
|
||||
@@ -151,9 +148,9 @@ class FolderBasedDartSdkTest with ResourceProviderMixin {
|
||||
|
||||
void test_fromFile_library_firstExact() {
|
||||
FolderBasedDartSdk sdk = _createDartSdk();
|
||||
Folder dirHtml = sdk.libraryDirectory.getChildAssumingFolder("html");
|
||||
Folder dirDartium = dirHtml.getChildAssumingFolder("dart2js");
|
||||
File file = dirDartium.getChildAssumingFile("html_dart2js.dart");
|
||||
Folder dirHtml = sdk.libraryDirectory.getFolder("html");
|
||||
Folder dirDartium = dirHtml.getFolder("dart2js");
|
||||
File file = dirDartium.getFile("html_dart2js.dart");
|
||||
var source = sdk.fromFileUri(file.toUri())!;
|
||||
expect(source, isNotNull);
|
||||
expect(source.uri.toString(), "dart:html");
|
||||
@@ -161,9 +158,9 @@ class FolderBasedDartSdkTest with ResourceProviderMixin {
|
||||
|
||||
void test_fromFile_library_html_common_dart2js() {
|
||||
FolderBasedDartSdk sdk = _createDartSdk();
|
||||
Folder dirHtml = sdk.libraryDirectory.getChildAssumingFolder("html");
|
||||
Folder dirCommon = dirHtml.getChildAssumingFolder("html_common");
|
||||
File file = dirCommon.getChildAssumingFile("html_common_dart2js.dart");
|
||||
Folder dirHtml = sdk.libraryDirectory.getFolder("html");
|
||||
Folder dirCommon = dirHtml.getFolder("html_common");
|
||||
File file = dirCommon.getFile("html_common_dart2js.dart");
|
||||
var source = sdk.fromFileUri(file.toUri())!;
|
||||
expect(source, isNotNull);
|
||||
expect(source.uri.toString(), "dart:html_common");
|
||||
@@ -172,10 +169,7 @@ class FolderBasedDartSdkTest with ResourceProviderMixin {
|
||||
void test_fromFile_part() {
|
||||
FolderBasedDartSdk sdk = _createDartSdk();
|
||||
var source = sdk.fromFileUri(
|
||||
sdk.libraryDirectory
|
||||
.getChildAssumingFolder("core")
|
||||
.getChildAssumingFile("num.dart")
|
||||
.toUri(),
|
||||
sdk.libraryDirectory.getFolder("core").getFile("num.dart").toUri(),
|
||||
)!;
|
||||
expect(source, isNotNull);
|
||||
expect(source.uri.toString(), "dart:core/num.dart");
|
||||
@@ -255,9 +249,9 @@ class FolderBasedDartSdkTest with ResourceProviderMixin {
|
||||
Folder parent = directory;
|
||||
int last = segments.length - 1;
|
||||
for (int i = 0; i < last; i++) {
|
||||
parent = parent.getChildAssumingFolder(segments[i]);
|
||||
parent = parent.getFolder(segments[i]);
|
||||
}
|
||||
File file = parent.getChildAssumingFile(segments[last]);
|
||||
File file = parent.getFile(segments[last]);
|
||||
newFile(file.path, content);
|
||||
}
|
||||
|
||||
|
||||
@@ -390,9 +390,7 @@ include: ../analysis_options.yaml
|
||||
}
|
||||
|
||||
AnalysisOptions _getOptionsObject(String folderPath) {
|
||||
var file = getFolder(
|
||||
folderPath,
|
||||
).getChildAssumingFile(file_paths.analysisOptionsYaml);
|
||||
var file = getFolder(folderPath).getFile(file_paths.analysisOptionsYaml);
|
||||
return AnalysisOptionsImpl.fromYaml(
|
||||
optionsMap: provider.getOptionsFromFile(file),
|
||||
file: getFile(folderPath),
|
||||
|
||||
@@ -425,7 +425,7 @@ class _PackageMatcher extends Matcher {
|
||||
required this.name,
|
||||
required this.rootFolder,
|
||||
Folder? libFolder,
|
||||
}) : libFolder = libFolder ?? rootFolder.getChildAssumingFolder('lib');
|
||||
}) : libFolder = libFolder ?? rootFolder.getFolder('lib');
|
||||
|
||||
@override
|
||||
Description describe(Description description) => description
|
||||
|
||||
@@ -131,9 +131,7 @@ class DartDocumentLinkVisitor extends RecursiveAstVisitor<void> {
|
||||
late final Folder? folderWithExamplesApi = () {
|
||||
var file = resourceProvider.getFile(filePath);
|
||||
for (var parent in file.parent.withAncestors) {
|
||||
var apiFolder = parent
|
||||
.getChildAssumingFolder('examples')
|
||||
.getChildAssumingFolder('api');
|
||||
var apiFolder = parent.getFolder('examples').getFolder('api');
|
||||
if (apiFolder.exists) {
|
||||
return parent;
|
||||
}
|
||||
|
||||
@@ -91,12 +91,12 @@ mixin MockPackagesMixin {
|
||||
|
||||
Folder addFfi() {
|
||||
var packageFolder = _addFiles('ffi', mock_ffi.units);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
Folder addFixnum() {
|
||||
var packageFolder = _addFiles('fixnum', mock_fixnum.units);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
Folder addFlutter() {
|
||||
@@ -111,12 +111,12 @@ mixin MockPackagesMixin {
|
||||
...mock_flutter_widget_previews.units,
|
||||
...mock_flutter_widgets.units,
|
||||
]);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
Folder addMeta() {
|
||||
var packageFolder = _addFiles('meta', mock_meta.units);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
Folder addTestReflectiveLoader() {
|
||||
@@ -124,7 +124,7 @@ mixin MockPackagesMixin {
|
||||
'test_reflective_loader',
|
||||
mock_test_reflective_loader.units,
|
||||
);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
/// Adds a mock sky_engine package with an `_embedder.yaml` file, and returns
|
||||
@@ -140,11 +140,8 @@ mixin MockPackagesMixin {
|
||||
var skyEngineFolder = resourceProvider.getFolder(
|
||||
resourceProvider.convertPath('$packagesRootPath/sky_engine'),
|
||||
)..create();
|
||||
var skyEngineLibFolder = skyEngineFolder.getChildAssumingFolder('lib')
|
||||
..create();
|
||||
var embedderFile = skyEngineLibFolder.getChildAssumingFile(
|
||||
'_embedder.yaml',
|
||||
);
|
||||
var skyEngineLibFolder = skyEngineFolder.getFolder('lib')..create();
|
||||
var embedderFile = skyEngineLibFolder.getFile('_embedder.yaml');
|
||||
// SDK-relative paths.
|
||||
var embeddedSdkLibRelativePaths = {
|
||||
'dart:async': 'lib/async/async.dart',
|
||||
@@ -194,7 +191,7 @@ mixin MockPackagesMixin {
|
||||
|
||||
Folder addVectorMath() {
|
||||
var packageFolder = _addFiles('vector_math', mock_vector_math.units);
|
||||
return packageFolder.getChildAssumingFolder('lib');
|
||||
return packageFolder.getFolder('lib');
|
||||
}
|
||||
|
||||
/// Adds files of the given [packageName] to the [resourceProvider].
|
||||
|
||||
@@ -86,8 +86,7 @@ class VerifyTests {
|
||||
);
|
||||
for (var child in children) {
|
||||
if (child is Folder) {
|
||||
if (child.getChildAssumingFile('test_all.dart').exists &&
|
||||
!isExpensive(child)) {
|
||||
if (child.getFile('test_all.dart').exists && !isExpensive(child)) {
|
||||
testFileNames.add('${child.shortName}/test_all.dart');
|
||||
}
|
||||
_buildTestsIn(session, testDirPath, child);
|
||||
|
||||
@@ -34,10 +34,10 @@ extension FolderExt on Folder {
|
||||
}
|
||||
|
||||
if (entry.header.typeFlag == TypeFlag.dir) {
|
||||
getChildAssumingFolder(relPath).createRecursively();
|
||||
getFolder(relPath).createRecursively();
|
||||
} else if (entry.header.typeFlag == TypeFlag.reg ||
|
||||
entry.header.typeFlag == TypeFlag.regA) {
|
||||
final file = getChildAssumingFile(relPath);
|
||||
final file = getFile(relPath);
|
||||
file.parent.createRecursively();
|
||||
|
||||
// Ensure that we copy the data, as TarReader may reuse buffers
|
||||
|
||||
@@ -527,7 +527,7 @@ class _ResourceProviderDirectory extends _ResourceProviderEntity
|
||||
var i = 0;
|
||||
while (true) {
|
||||
var name = "${prefix ?? 'temp'}_$i";
|
||||
var temp = _folder.getChildAssumingFolder(name);
|
||||
var temp = _folder.getFolder(name);
|
||||
if (!temp.exists) {
|
||||
temp.create();
|
||||
return _ResourceProviderDirectory(fileSystem, temp.path);
|
||||
@@ -625,10 +625,10 @@ class _ResourceProviderDirectory extends _ResourceProviderEntity
|
||||
}
|
||||
for (final child in source.getChildren()) {
|
||||
if (child is File) {
|
||||
final destFile = dest.getChildAssumingFile(child.shortName);
|
||||
final destFile = dest.getFile(child.shortName);
|
||||
destFile.writeAsBytesSync(child.readAsBytesSync());
|
||||
} else if (child is Folder) {
|
||||
final destChild = dest.getChildAssumingFolder(child.shortName);
|
||||
final destChild = dest.getFolder(child.shortName);
|
||||
_copyFolderSync(child, destChild);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,12 +162,22 @@ final class _Folder implements Folder {
|
||||
Resource getChild(String relPath) => _rp._wrap(_r.getChild(relPath));
|
||||
|
||||
@override
|
||||
File getChildAssumingFile(String relPath) =>
|
||||
_File(_r.getChildAssumingFile(relPath), _rp);
|
||||
File getFile(String relPath) => _File(_r.getFile(relPath), _rp);
|
||||
|
||||
@Deprecated('Use getFile instead.')
|
||||
@override
|
||||
File getChildAssumingFile(String relPath) {
|
||||
return getFile(relPath);
|
||||
}
|
||||
|
||||
@override
|
||||
Folder getChildAssumingFolder(String relPath) =>
|
||||
_Folder(_r.getChildAssumingFolder(relPath), _rp);
|
||||
Folder getFolder(String relPath) => _Folder(_r.getFolder(relPath), _rp);
|
||||
|
||||
@Deprecated('Use getFolder instead.')
|
||||
@override
|
||||
Folder getChildAssumingFolder(String relPath) {
|
||||
return getFolder(relPath);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Resource> getChildren() => _r.getChildren().map(_rp._wrap).toList();
|
||||
|
||||
@@ -388,8 +388,8 @@ class _Workspace {
|
||||
var parent = _rp.getFile(entrypoint).parent;
|
||||
do {
|
||||
final pkgConfig = parent
|
||||
.getChildAssumingFolder('.dart_tool')
|
||||
.getChildAssumingFile('package_config.json');
|
||||
.getFolder('.dart_tool')
|
||||
.getFile('package_config.json');
|
||||
|
||||
if (pkgConfig.exists) {
|
||||
return pkgConfig.path;
|
||||
|
||||
@@ -20,10 +20,10 @@ extension ResourceChecks on Subject<Resource> {
|
||||
|
||||
extension FolderChecks on Subject<Folder> {
|
||||
Subject<File> file(String path) =>
|
||||
has((f) => f.getChildAssumingFile(path), 'file ($path)');
|
||||
has((f) => f.getFile(path), 'file ($path)');
|
||||
|
||||
Subject<Folder> folder(String path) =>
|
||||
has((f) => f.getChildAssumingFolder(path), 'folder ($path)');
|
||||
has((f) => f.getFolder(path), 'folder ($path)');
|
||||
}
|
||||
|
||||
extension FileChecks on Subject<File> {
|
||||
|
||||
@@ -24,7 +24,7 @@ void main() {
|
||||
|
||||
group('FolderExt.createRecursively', () {
|
||||
test('creates nested folders', () {
|
||||
final folder = target.getChildAssumingFolder('a/b/c');
|
||||
final folder = target.getFolder('a/b/c');
|
||||
check(folder).doesNotExist;
|
||||
|
||||
folder.createRecursively();
|
||||
@@ -35,7 +35,7 @@ void main() {
|
||||
});
|
||||
|
||||
test('does nothing if folder exists', () {
|
||||
final folder = target.getChildAssumingFolder('a')..create();
|
||||
final folder = target.getFolder('a')..create();
|
||||
check(folder).exists;
|
||||
|
||||
folder.createRecursively();
|
||||
@@ -110,9 +110,9 @@ void main() {
|
||||
|
||||
group('FolderExt.createTarStream', () {
|
||||
test('creates a tar stream from folder contents', () async {
|
||||
target.getChildAssumingFile('a.txt').writeAsStringSync('a');
|
||||
target.getChildAssumingFolder('sub').create();
|
||||
target.getChildAssumingFile('sub/b.txt').writeAsStringSync('b');
|
||||
target.getFile('a.txt').writeAsStringSync('a');
|
||||
target.getFolder('sub').create();
|
||||
target.getFile('sub/b.txt').writeAsStringSync('b');
|
||||
|
||||
final reader = TarReader(target.createTarStream());
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ File? locatePubspecFile(CompilationUnit compilationUnit) {
|
||||
|
||||
// Look for a pubspec.yaml file.
|
||||
for (var folder in file.parent.withAncestors) {
|
||||
var pubspecFile = folder.getChildAssumingFile('pubspec.yaml');
|
||||
var pubspecFile = folder.getFile('pubspec.yaml');
|
||||
if (pubspecFile.exists) {
|
||||
return pubspecFile;
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ class AnalyzerElementModelTrackingTest extends LintRuleTest {
|
||||
var pkgPath = physicalProvider.pathContext.normalize(packageRoot);
|
||||
var analyzerLibSource = physicalProvider
|
||||
.getFolder(pkgPath)
|
||||
.getChildAssumingFolder('analyzer')
|
||||
.getChildAssumingFolder('lib');
|
||||
.getFolder('analyzer')
|
||||
.getFolder('lib');
|
||||
|
||||
var analyzerFolder = newFolder('/packages/analyzer');
|
||||
analyzerLibSource.copyTo(analyzerFolder);
|
||||
|
||||
@@ -65,7 +65,7 @@ class _VerifyTests {
|
||||
);
|
||||
for (var child in children) {
|
||||
if (child is Folder) {
|
||||
if (child.getChildAssumingFile(testAllFileName).exists) {
|
||||
if (child.getFile(testAllFileName).exists) {
|
||||
testFileNames.add('${child.shortName}/$testAllFileName');
|
||||
}
|
||||
_buildTestsIn(session, testDirPath, child);
|
||||
|
||||
Reference in New Issue
Block a user