diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart index 316122a9c61..4661892d217 100644 --- a/pkg/analysis_server/lib/src/context_manager.dart +++ b/pkg/analysis_server/lib/src/context_manager.dart @@ -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); } diff --git a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_migrate.dart b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_migrate.dart index 998c2476bad..63947a81152 100644 --- a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_migrate.dart +++ b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_migrate.dart @@ -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, diff --git a/pkg/analysis_server/lib/src/plugin/plugin_locator.dart b/pkg/analysis_server/lib/src/plugin/plugin_locator.dart index 5de8137603e..9b714ad653f 100644 --- a/pkg/analysis_server/lib/src/plugin/plugin_locator.dart +++ b/pkg/analysis_server/lib/src/plugin/plugin_locator.dart @@ -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; }); } diff --git a/pkg/analysis_server/lib/src/plugin/plugin_manager.dart b/pkg/analysis_server/lib/src/plugin/plugin_manager.dart index 4d8d876d150..0703ee28f4e 100644 --- a/pkg/analysis_server/lib/src/plugin/plugin_manager.dart +++ b/pkg/analysis_server/lib/src/plugin/plugin_manager.dart @@ -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(); diff --git a/pkg/analysis_server/lib/src/plugin/plugin_watcher.dart b/pkg/analysis_server/lib/src/plugin/plugin_watcher.dart index 2427b89155a..abfc54d6cf7 100644 --- a/pkg/analysis_server/lib/src/plugin/plugin_watcher.dart +++ b/pkg/analysis_server/lib/src/plugin/plugin_watcher.dart @@ -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. diff --git a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart index c1fafc69f5e..cc1f1703513 100644 --- a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart +++ b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart @@ -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, diff --git a/pkg/analysis_server/lib/src/services/correction/dart/update_sdk_constraints.dart b/pkg/analysis_server/lib/src/services/correction/dart/update_sdk_constraints.dart index dcbc96a9c0e..e4d00b53eda 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/update_sdk_constraints.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/update_sdk_constraints.dart @@ -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; } diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart index cfcf5195762..7b0a4a10771 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart @@ -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 = []; - 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); } diff --git a/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart b/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart index ad4d51af99c..1fa23f05304 100644 --- a/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart +++ b/pkg/analysis_server/lib/src/services/pub/pub_package_service.dart @@ -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. diff --git a/pkg/analysis_server/lib/src/services/user_prompts/user_prompts.dart b/pkg/analysis_server/lib/src/services/user_prompts/user_prompts.dart index 90644f8ef7b..82caab7f32d 100644 --- a/pkg/analysis_server/lib/src/services/user_prompts/user_prompts.dart +++ b/pkg/analysis_server/lib/src/services/user_prompts/user_prompts.dart @@ -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, diff --git a/pkg/analysis_server/lib/src/status/pages/contexts_page.dart b/pkg/analysis_server/lib/src/status/pages/contexts_page.dart index 4cfe1b7f7d0..18a06f9fcda 100644 --- a/pkg/analysis_server/lib/src/status/pages/contexts_page.dart +++ b/pkg/analysis_server/lib/src/status/pages/contexts_page.dart @@ -79,16 +79,14 @@ class ContextsPage extends DiagnosticPageWithNav { buf.write('pubspec file: '); buf.write(escape(workspaceFolder.path)); buf.write('$separator'); - 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), ); diff --git a/pkg/analysis_server/test/analysis/reanalyze_test.dart b/pkg/analysis_server/test/analysis/reanalyze_test.dart index ab266bf6d71..aad07054e59 100644 --- a/pkg/analysis_server/test/analysis/reanalyze_test.dart +++ b/pkg/analysis_server/test/analysis/reanalyze_test.dart @@ -34,7 +34,7 @@ class ReanalyzeTest extends PubPackageAnalysisServerTest { } Future 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'; diff --git a/pkg/analysis_server/test/analysis/set_priority_files_test.dart b/pkg/analysis_server/test/analysis/set_priority_files_test.dart index cd611ebbb8f..ac2218b2e96 100644 --- a/pkg/analysis_server/test/analysis/set_priority_files_test.dart +++ b/pkg/analysis_server/test/analysis/set_priority_files_test.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 diff --git a/pkg/analysis_server/test/support/configuration_files.dart b/pkg/analysis_server/test/support/configuration_files.dart index 64e6393f385..86b21617b5e 100644 --- a/pkg/analysis_server/test/support/configuration_files.dart +++ b/pkg/analysis_server/test/support/configuration_files.dart @@ -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); } diff --git a/pkg/analysis_server/test/verify_no_utf8_encode_test.dart b/pkg/analysis_server/test/verify_no_utf8_encode_test.dart index 1f4d08f807e..8f82550cf16 100644 --- a/pkg/analysis_server/test/verify_no_utf8_encode_test.dart +++ b/pkg/analysis_server/test/verify_no_utf8_encode_test.dart @@ -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)) { diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt index 9b7d1473c17..2966ff80fd2 100644 --- a/pkg/analyzer/api.txt +++ b/pkg/analyzer/api.txt @@ -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 Function()) + getFile (method: File Function(String)) + getFolder (method: Folder Function(String)) watch (method: ResourceWatcher Function()) Link (class extends Object, abstract): new (constructor: Link Function()) diff --git a/pkg/analyzer/lib/file_system/file_system.dart b/pkg/analyzer/lib/file_system/file_system.dart index 37d18e18386..aea33abca44 100644 --- a/pkg/analyzer/lib/file_system/file_system.dart +++ b/pkg/analyzer/lib/file_system/file_system.dart @@ -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 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). /// diff --git a/pkg/analyzer/lib/file_system/memory_file_system.dart b/pkg/analyzer/lib/file_system/memory_file_system.dart index 78631ada044..ca4291afe13 100644 --- a/pkg/analyzer/lib/file_system/memory_file_system.dart +++ b/pkg/analyzer/lib/file_system/memory_file_system.dart @@ -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) { diff --git a/pkg/analyzer/lib/file_system/overlay_file_system.dart b/pkg/analyzer/lib/file_system/overlay_file_system.dart index 6cc3bb62022..86e9c354531 100644 --- a/pkg/analyzer/lib/file_system/overlay_file_system.dart +++ b/pkg/analyzer/lib/file_system/overlay_file_system.dart @@ -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 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(); } diff --git a/pkg/analyzer/lib/file_system/physical_file_system.dart b/pkg/analyzer/lib/file_system/physical_file_system.dart index e62141cd0e9..445f3f44b66 100644 --- a/pkg/analyzer/lib/file_system/physical_file_system.dart +++ b/pkg/analyzer/lib/file_system/physical_file_system.dart @@ -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) { diff --git a/pkg/analyzer/lib/src/analysis_rule/rule_context.dart b/pkg/analyzer/lib/src/analysis_rule/rule_context.dart index 7c654361ff2..a288f9b446c 100644 --- a/pkg/analyzer/lib/src/analysis_rule/rule_context.dart +++ b/pkg/analyzer/lib/src/analysis_rule/rule_context.dart @@ -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); } diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart index 21b8ea53858..d80cd8efa81 100644 --- a/pkg/analyzer/lib/src/context/builder.dart +++ b/pkg/analyzer/lib/src/context/builder.dart @@ -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 { diff --git a/pkg/analyzer/lib/src/context/packages.dart b/pkg/analyzer/lib/src/context/packages.dart index 776c5546459..712ef47cc22 100644 --- a/pkg/analyzer/lib/src/context/packages.dart +++ b/pkg/analyzer/lib/src/context/packages.dart @@ -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); } diff --git a/pkg/analyzer/lib/src/dart/analysis/context_locator.dart b/pkg/analyzer/lib/src/dart/analysis/context_locator.dart index 7bfa0a7ade6..93a0b5b8e8c 100644 --- a/pkg/analyzer/lib/src/dart/analysis/context_locator.dart +++ b/pkg/analyzer/lib/src/dart/analysis/context_locator.dart @@ -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 _loadWorkspaceDetailsFromPubspec(String root) { var result = {}; 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(), diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state_filter.dart b/pkg/analyzer/lib/src/dart/analysis/file_state_filter.dart index f412c434dcd..e4a900f570e 100644 --- a/pkg/analyzer/lib/src/dart/analysis/file_state_filter.dart +++ b/pkg/analyzer/lib/src/dart/analysis/file_state_filter.dart @@ -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 = {}; var pubspec = package.pubspec; diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart index 12691ee08d2..c1ae4f8d462 100644 --- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart +++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart @@ -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 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. diff --git a/pkg/analyzer/lib/src/pubspec/validators/flutter_validator.dart b/pkg/analyzer/lib/src/pubspec/validators/flutter_validator.dart index c0be31d002e..ed2360ccbce 100644 --- a/pkg/analyzer/lib/src/pubspec/validators/flutter_validator.dart +++ b/pkg/analyzer/lib/src/pubspec/validators/flutter_validator.dart @@ -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; } diff --git a/pkg/analyzer/lib/src/source/package_map_resolver.dart b/pkg/analyzer/lib/src/source/package_map_resolver.dart index 5afd75b8e54..554d8d3f184 100644 --- a/pkg/analyzer/lib/src/source/package_map_resolver.dart +++ b/pkg/analyzer/lib/src/source/package_map_resolver.dart @@ -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; diff --git a/pkg/analyzer/lib/src/test_utilities/mock_packages.dart b/pkg/analyzer/lib/src/test_utilities/mock_packages.dart index a064b5477a3..2c6a531bcc5 100644 --- a/pkg/analyzer/lib/src/test_utilities/mock_packages.dart +++ b/pkg/analyzer/lib/src/test_utilities/mock_packages.dart @@ -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}) diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart index a9e184b93d6..ddb6f40e7a9 100644 --- a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart +++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart @@ -1920,19 +1920,19 @@ void createMockSdk({ required Folder root, @internal List 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 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, diff --git a/pkg/analyzer/lib/src/utilities/extensions/file_system.dart b/pkg/analyzer/lib/src/utilities/extensions/file_system.dart index 499f1520c15..2fff635c02e 100644 --- a/pkg/analyzer/lib/src/utilities/extensions/file_system.dart +++ b/pkg/analyzer/lib/src/utilities/extensions/file_system.dart @@ -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; } } diff --git a/pkg/analyzer/lib/src/workspace/blaze.dart b/pkg/analyzer/lib/src/workspace/blaze.dart index 5efdd1024c6..48c53ad2f76 100644 --- a/pkg/analyzer/lib/src/workspace/blaze.dart +++ b/pkg/analyzer/lib/src/workspace/blaze.dart @@ -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 _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()) { // 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); } diff --git a/pkg/analyzer/lib/src/workspace/gn.dart b/pkg/analyzer/lib/src/workspace/gn.dart index a94167b3083..5397e765ac1 100644 --- a/pkg/analyzer/lib/src/workspace/gn.dart +++ b/pkg/analyzer/lib/src/workspace/gn.dart @@ -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 []; } - 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; diff --git a/pkg/analyzer/lib/src/workspace/pub.dart b/pkg/analyzer/lib/src/workspace/pub.dart index baeb6c0ac74..35088c665b0 100644 --- a/pkg/analyzer/lib/src/workspace/pub.dart +++ b/pkg/analyzer/lib/src/workspace/pub.dart @@ -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); } diff --git a/pkg/analyzer/lib/src/workspace/workspace.dart b/pkg/analyzer/lib/src/workspace/workspace.dart index 1335392e149..9dc7b32d0eb 100644 --- a/pkg/analyzer/lib/src/workspace/workspace.dart +++ b/pkg/analyzer/lib/src/workspace/workspace.dart @@ -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); }); } diff --git a/pkg/analyzer/test/file_system/file_system_test_support.dart b/pkg/analyzer/test/file_system/file_system_test_support.dart index 2d26a76cbd4..b68c6771658 100644 --- a/pkg/analyzer/test/file_system/file_system_test_support.dart +++ b/pkg/analyzer/test/file_system/file_system_test_support.dart @@ -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); diff --git a/pkg/analyzer/test/file_system/overlay_file_system_test.dart b/pkg/analyzer/test/file_system/overlay_file_system_test.dart index 30895236cfa..d931d22ede9 100644 --- a/pkg/analyzer/test/file_system/overlay_file_system_test.dart +++ b/pkg/analyzer/test/file_system/overlay_file_system_test.dart @@ -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); diff --git a/pkg/analyzer/test/file_system/physical_file_system_test.dart b/pkg/analyzer/test/file_system/physical_file_system_test.dart index fa45eb67082..f153e08081d 100644 --- a/pkg/analyzer/test/file_system/physical_file_system_test.dart +++ b/pkg/analyzer/test/file_system/physical_file_system_test.dart @@ -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); } diff --git a/pkg/analyzer/test/source/analysis_options_provider_test.dart b/pkg/analyzer/test/source/analysis_options_provider_test.dart index 2b329d3fce7..14667b148ad 100644 --- a/pkg/analyzer/test/source/analysis_options_provider_test.dart +++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart @@ -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); } diff --git a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart index 78d843b07aa..0a5a0fd1735 100644 --- a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart @@ -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, ); } diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart index e9dba0a2f19..6a2fb0c6ef1 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart @@ -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 {', diff --git a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart index e90bc945c81..3a1f37ab8a5 100644 --- a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart +++ b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart @@ -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); } diff --git a/pkg/analyzer/test/src/options/options_provider_test.dart b/pkg/analyzer/test/src/options/options_provider_test.dart index 8531f9b45c6..d4b8b4ef168 100644 --- a/pkg/analyzer/test/src/options/options_provider_test.dart +++ b/pkg/analyzer/test/src/options/options_provider_test.dart @@ -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), diff --git a/pkg/analyzer/test/src/workspace/gn_test.dart b/pkg/analyzer/test/src/workspace/gn_test.dart index f6252363a53..88370b490f6 100644 --- a/pkg/analyzer/test/src/workspace/gn_test.dart +++ b/pkg/analyzer/test/src/workspace/gn_test.dart @@ -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 diff --git a/pkg/analyzer_plugin/lib/src/utilities/navigation/document_links.dart b/pkg/analyzer_plugin/lib/src/utilities/navigation/document_links.dart index 2cc806c1cfb..f70106ba539 100644 --- a/pkg/analyzer_plugin/lib/src/utilities/navigation/document_links.dart +++ b/pkg/analyzer_plugin/lib/src/utilities/navigation/document_links.dart @@ -131,9 +131,7 @@ class DartDocumentLinkVisitor extends RecursiveAstVisitor { 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; } diff --git a/pkg/analyzer_testing/lib/mock_packages/mock_packages.dart b/pkg/analyzer_testing/lib/mock_packages/mock_packages.dart index 696804b2011..006895e0ee4 100644 --- a/pkg/analyzer_testing/lib/mock_packages/mock_packages.dart +++ b/pkg/analyzer_testing/lib/mock_packages/mock_packages.dart @@ -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]. diff --git a/pkg/analyzer_utilities/lib/verify_tests.dart b/pkg/analyzer_utilities/lib/verify_tests.dart index 79ba5695795..f77bf4fc2b2 100644 --- a/pkg/analyzer_utilities/lib/verify_tests.dart +++ b/pkg/analyzer_utilities/lib/verify_tests.dart @@ -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); diff --git a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_ext.dart b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_ext.dart index 9271fb1a9ef..b63ed69fb48 100644 --- a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_ext.dart +++ b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_ext.dart @@ -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 diff --git a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_file.dart b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_file.dart index 073551f3c06..c3da19d8947 100644 --- a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_file.dart +++ b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_file.dart @@ -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); } } diff --git a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_wrap_cwd.dart b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_wrap_cwd.dart index 672d0af4c13..679e768596c 100644 --- a/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_wrap_cwd.dart +++ b/pkg/dartpad_worker/lib/src/resource_provider/resource_provider_wrap_cwd.dart @@ -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 getChildren() => _r.getChildren().map(_rp._wrap).toList(); diff --git a/pkg/dartpad_worker/lib/src/worker.dart b/pkg/dartpad_worker/lib/src/worker.dart index f4217402192..3cda9269c58 100644 --- a/pkg/dartpad_worker/lib/src/worker.dart +++ b/pkg/dartpad_worker/lib/src/worker.dart @@ -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; diff --git a/pkg/dartpad_worker/test/checks_ext.dart b/pkg/dartpad_worker/test/checks_ext.dart index bf23b4477f5..843682a2230 100644 --- a/pkg/dartpad_worker/test/checks_ext.dart +++ b/pkg/dartpad_worker/test/checks_ext.dart @@ -20,10 +20,10 @@ extension ResourceChecks on Subject { extension FolderChecks on Subject { Subject file(String path) => - has((f) => f.getChildAssumingFile(path), 'file ($path)'); + has((f) => f.getFile(path), 'file ($path)'); Subject folder(String path) => - has((f) => f.getChildAssumingFolder(path), 'folder ($path)'); + has((f) => f.getFolder(path), 'folder ($path)'); } extension FileChecks on Subject { diff --git a/pkg/dartpad_worker/test/resource_provider/test_resource_provider_ext.dart b/pkg/dartpad_worker/test/resource_provider/test_resource_provider_ext.dart index 0de56d18f28..e143d085146 100644 --- a/pkg/dartpad_worker/test/resource_provider/test_resource_provider_ext.dart +++ b/pkg/dartpad_worker/test/resource_provider/test_resource_provider_ext.dart @@ -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()); diff --git a/pkg/linter/lib/src/ast.dart b/pkg/linter/lib/src/ast.dart index 1e1b4d0a041..282adb53608 100644 --- a/pkg/linter/lib/src/ast.dart +++ b/pkg/linter/lib/src/ast.dart @@ -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; } diff --git a/pkg/linter/test/rules/analyzer_element_model_tracking_test.dart b/pkg/linter/test/rules/analyzer_element_model_tracking_test.dart index f2fcc107372..8e48427c048 100644 --- a/pkg/linter/test/rules/analyzer_element_model_tracking_test.dart +++ b/pkg/linter/test/rules/analyzer_element_model_tracking_test.dart @@ -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); diff --git a/pkg/linter/test/verify_reflective_test_suites_test.dart b/pkg/linter/test/verify_reflective_test_suites_test.dart index fb509e3055c..e61f743f1ea 100644 --- a/pkg/linter/test/verify_reflective_test_suites_test.dart +++ b/pkg/linter/test/verify_reflective_test_suites_test.dart @@ -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);