Index: analyzer/lib/file_system/file_system.dart |
diff --git a/analyzer/lib/file_system/file_system.dart b/analyzer/lib/file_system/file_system.dart |
deleted file mode 100644 |
index 899d6c5bf6227ad7b2ff4b2e8f349f96e0913e88..0000000000000000000000000000000000000000 |
--- a/analyzer/lib/file_system/file_system.dart |
+++ /dev/null |
@@ -1,203 +0,0 @@ |
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library file_system; |
- |
-import 'dart:async'; |
- |
-import 'package:analyzer/src/generated/source.dart'; |
-import 'package:path/path.dart'; |
-import 'package:watcher/watcher.dart'; |
- |
-/** |
- * [File]s are leaf [Resource]s which contain data. |
- */ |
-abstract class File extends Resource { |
- /** |
- * Watch for changes to this file |
- */ |
- Stream<WatchEvent> get changes; |
- |
- /** |
- * Return the last-modified stamp of the file. |
- * Throws [FileSystemException] if the file does not exist. |
- */ |
- int get modificationStamp; |
- |
- /** |
- * Create a new [Source] instance that serves this file. |
- */ |
- Source createSource([Uri uri]); |
- |
- /** |
- * Synchronously read the entire file contents as a [String]. |
- * Throws [FileSystemException] if the file does not exist. |
- */ |
- String readAsStringSync(); |
-} |
- |
-/** |
- * Base class for all file system exceptions. |
- */ |
-class FileSystemException implements Exception { |
- final String path; |
- final String message; |
- |
- FileSystemException(this.path, this.message); |
- |
- String toString() => 'FileSystemException(path=$path; message=$message)'; |
-} |
- |
-/** |
- * [Folder]s are [Resource]s which may contain files and/or other folders. |
- */ |
-abstract class Folder extends Resource { |
- /** |
- * Watch for changes to the files inside this folder (and in any nested |
- * folders, including folders reachable via links). |
- */ |
- Stream<WatchEvent> get changes; |
- |
- /** |
- * If the path [path] is a relative path, convert it to an absolute path |
- * by interpreting it relative to this folder. If it is already an aboslute |
- * path, then don't change it. |
- * |
- * However, regardless of whether [path] is relative or absolute, normalize |
- * it by removing path components of the form '.' or '..'. |
- */ |
- String canonicalizePath(String path); |
- |
- /** |
- * Return `true` if absolute [path] references a resource in this folder. |
- */ |
- bool contains(String path); |
- |
- /** |
- * Return an existing child [Resource] with the given [relPath]. |
- * Return a not existing [File] if no such child exist. |
- */ |
- Resource getChild(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. |
- */ |
- Folder getChildAssumingFolder(String relPath); |
- |
- /** |
- * Return a list of existing direct children [Resource]s (folders and files) |
- * in this folder, in no particular order. |
- */ |
- List<Resource> getChildren(); |
-} |
- |
-/** |
- * The abstract class [Resource] is an abstraction of file or folder. |
- */ |
-abstract class Resource { |
- /** |
- * Return `true` if this resource exists. |
- */ |
- bool get exists; |
- |
- /** |
- * Return the [Folder] that contains this resource, or `null` if this resource |
- * is a root folder. |
- */ |
- Folder get parent; |
- |
- /** |
- * Return the full path to this resource. |
- */ |
- String get path; |
- |
- /** |
- * Return a short version of the name that can be displayed to the user to |
- * denote this resource. |
- */ |
- String get shortName; |
- |
- /** |
- * Return `true` if absolute [path] references this resource or a resource in |
- * this folder. |
- */ |
- bool isOrContains(String path); |
-} |
- |
-/** |
- * Instances of the class [ResourceProvider] convert [String] paths into |
- * [Resource]s. |
- */ |
-abstract class ResourceProvider { |
- /** |
- * Get the path context used by this resource provider. |
- */ |
- Context get pathContext; |
- |
- /** |
- * Return a [File] that corresponds to the given [path]. |
- * |
- * A file may or may not exist at this location. |
- */ |
- File getFile(String path); |
- |
- /** |
- * Return a [Folder] that corresponds to the given [path]. |
- * |
- * A folder may or may not exist at this location. |
- */ |
- Folder getFolder(String path); |
- |
- /** |
- * Return the [Resource] that corresponds to the given [path]. |
- */ |
- Resource getResource(String path); |
- |
- /** |
- * Return the folder in which the plugin with the given [pluginId] can store |
- * state that will persist across sessions. The folder returned for a given id |
- * will not be returned for a different id, ensuring that plugins do not need |
- * to be concerned with file name collisions with other plugins, assuming that |
- * the plugin ids are unique. The plugin ids must be valid folder names. |
- */ |
- Folder getStateLocation(String pluginId); |
-} |
- |
-/** |
- * A [UriResolver] for [Resource]s. |
- */ |
-class ResourceUriResolver extends UriResolver { |
- /** |
- * The name of the `file` scheme. |
- */ |
- static String _FILE_SCHEME = "file"; |
- |
- final ResourceProvider _provider; |
- |
- ResourceUriResolver(this._provider); |
- |
- @override |
- Source resolveAbsolute(Uri uri) { |
- if (!_isFileUri(uri)) { |
- return null; |
- } |
- Resource resource = |
- _provider.getResource(_provider.pathContext.fromUri(uri)); |
- if (resource is File) { |
- return resource.createSource(uri); |
- } |
- return null; |
- } |
- |
- @override |
- Uri restoreAbsolute(Source source) => source.uri; |
- |
- /** |
- * Return `true` if the given [uri] is a `file` URI. |
- */ |
- static bool _isFileUri(Uri uri) => uri.scheme == _FILE_SCHEME; |
-} |