Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: pkg/analyzer/lib/src/generated/source_io.dart

Issue 725143004: Format and sort analyzer and analysis_server packages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/generated/source_io.dart
diff --git a/pkg/analyzer/lib/src/generated/source_io.dart b/pkg/analyzer/lib/src/generated/source_io.dart
index b7ec971bd2bb3445f924400449e8c9876d238732..4918519736b54c3d5faab54470c1072a2a8c09da 100644
--- a/pkg/analyzer/lib/src/generated/source_io.dart
+++ b/pkg/analyzer/lib/src/generated/source_io.dart
@@ -7,13 +7,14 @@
library engine.source.io;
-import 'source.dart';
+import 'engine.dart';
+import 'instrumentation.dart';
import 'java_core.dart';
+import 'java_engine.dart';
import 'java_io.dart';
+import 'source.dart';
import 'utilities_general.dart';
-import 'instrumentation.dart';
-import 'engine.dart';
-import 'java_engine.dart';
+
export 'source.dart';
/**
@@ -22,20 +23,6 @@ export 'source.dart';
*/
class DirectoryBasedSourceContainer implements SourceContainer {
/**
- * Append the system file separator to the given path unless the path already ends with a
- * separator.
- *
- * @param path the path to which the file separator is to be added
- * @return a path that ends with the system file separator
- */
- static String _appendFileSeparator(String path) {
- if (path == null || path.length <= 0 || path.codeUnitAt(path.length - 1) == JavaFile.separatorChar) {
- return path;
- }
- return "$path${JavaFile.separator}";
- }
-
- /**
* The container's path (not `null`).
*/
String _path;
@@ -47,7 +34,8 @@ class DirectoryBasedSourceContainer implements SourceContainer {
*
* @param directory the directory (not `null`)
*/
- DirectoryBasedSourceContainer.con1(JavaFile directory) : this.con2(directory.getPath());
+ DirectoryBasedSourceContainer.con1(JavaFile directory)
+ : this.con2(directory.getPath());
/**
* Construct a container representing the specified path and containing any sources whose
@@ -60,10 +48,7 @@ class DirectoryBasedSourceContainer implements SourceContainer {
}
@override
- bool contains(Source source) => source.fullName.startsWith(_path);
-
- @override
- bool operator ==(Object obj) => (obj is DirectoryBasedSourceContainer) && obj.path == path;
+ int get hashCode => _path.hashCode;
/**
* Answer the receiver's path, used to determine if a source is contained in the receiver.
@@ -73,10 +58,30 @@ class DirectoryBasedSourceContainer implements SourceContainer {
String get path => _path;
@override
- int get hashCode => _path.hashCode;
+ bool operator ==(Object obj) =>
+ (obj is DirectoryBasedSourceContainer) && obj.path == path;
+
+ @override
+ bool contains(Source source) => source.fullName.startsWith(_path);
@override
String toString() => "SourceContainer[$_path]";
+
+ /**
+ * Append the system file separator to the given path unless the path already ends with a
+ * separator.
+ *
+ * @param path the path to which the file separator is to be added
+ * @return a path that ends with the system file separator
+ */
+ static String _appendFileSeparator(String path) {
+ if (path == null ||
+ path.length <= 0 ||
+ path.codeUnitAt(path.length - 1) == JavaFile.separatorChar) {
+ return path;
+ }
+ return "$path${JavaFile.separator}";
+ }
}
/**
@@ -119,12 +124,6 @@ class FileBasedSource implements Source {
FileBasedSource.con2(this.uri, this.file);
@override
- bool operator ==(Object object) => object != null && object is FileBasedSource && file == object.file;
-
- @override
- bool exists() => file.isFile();
-
- @override
TimestampedData<String> get contents {
TimeCounter_TimeCounterHandle handle = PerformanceStatistics.io.start();
try {
@@ -134,6 +133,23 @@ class FileBasedSource implements Source {
}
}
+ /**
+ * Get the contents and timestamp of the underlying file.
+ *
+ * Clients should consider using the the method [AnalysisContext.getContents]
+ * because contexts can have local overrides of the content of a source that the source is not
+ * aware of.
+ *
+ * @return the contents of the source paired with the modification stamp of the source
+ * @throws Exception if the contents of this source could not be accessed
+ * See [contents].
+ */
+ TimestampedData<String> get contentsFromFile {
+ return new TimestampedData<String>(
+ file.lastModified(),
+ file.readAsStringSync());
+ }
+
@override
String get encoding {
if (_encoding == null) {
@@ -151,6 +167,12 @@ class FileBasedSource implements Source {
}
@override
+ int get hashCode => file.hashCode;
+
+ @override
+ bool get isInSystemLibrary => uri.scheme == DartUriResolver.DART_SCHEME;
+
+ @override
int get modificationStamp => file.lastModified();
@override
@@ -170,10 +192,11 @@ class FileBasedSource implements Source {
}
@override
- int get hashCode => file.hashCode;
+ bool operator ==(Object object) =>
+ object != null && object is FileBasedSource && file == object.file;
@override
- bool get isInSystemLibrary => uri.scheme == DartUriResolver.DART_SCHEME;
+ bool exists() => file.isFile();
@override
Uri resolveRelativeUri(Uri containedUri) {
@@ -190,11 +213,14 @@ class FileBasedSource implements Source {
}
Uri result = baseUri.resolveUri(containedUri);
if (isOpaque) {
- result = parseUriWithException("${result.scheme}:${result.path.substring(1)}");
+ result =
+ parseUriWithException("${result.scheme}:${result.path.substring(1)}");
}
return result;
} catch (exception, stackTrace) {
- throw new AnalysisException("Could not resolve URI ($containedUri) relative to source ($uri)", new CaughtException(exception, stackTrace));
+ throw new AnalysisException(
+ "Could not resolve URI ($containedUri) relative to source ($uri)",
+ new CaughtException(exception, stackTrace));
}
}
@@ -207,21 +233,6 @@ class FileBasedSource implements Source {
}
/**
- * Get the contents and timestamp of the underlying file.
- *
- * Clients should consider using the the method [AnalysisContext.getContents]
- * because contexts can have local overrides of the content of a source that the source is not
- * aware of.
- *
- * @return the contents of the source paired with the modification stamp of the source
- * @throws Exception if the contents of this source could not be accessed
- * See [contents].
- */
- TimestampedData<String> get contentsFromFile {
- return new TimestampedData<String>(file.lastModified(), file.readAsStringSync());
- }
-
- /**
* Record the time the IO took if it was slow
*/
void _reportIfSlowIO(int nanos) {
@@ -247,14 +258,6 @@ class FileUriResolver extends UriResolver {
*/
static String FILE_SCHEME = "file";
- /**
- * Return `true` if the given URI is a `file` URI.
- *
- * @param uri the URI being tested
- * @return `true` if the given URI is a `file` URI
- */
- static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME;
-
@override
Source resolveAbsolute(Uri uri) {
if (!isFileUri(uri)) {
@@ -262,6 +265,14 @@ class FileUriResolver extends UriResolver {
}
return new FileBasedSource.con2(uri, new JavaFile.fromUri(uri));
}
+
+ /**
+ * Return `true` if the given URI is a `file` URI.
+ *
+ * @param uri the URI being tested
+ * @return `true` if the given URI is a `file` URI
+ */
+ static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME;
}
/**
@@ -283,7 +294,8 @@ abstract class LocalSourcePredicate {
* Instance of [LocalSourcePredicate] that returns `true` for all [Source]s
* except of SDK.
*/
- static final LocalSourcePredicate NOT_SDK = new LocalSourcePredicate_NOT_SDK();
+ static final LocalSourcePredicate NOT_SDK =
+ new LocalSourcePredicate_NOT_SDK();
/**
* Determines if the given [Source] is local.
@@ -319,11 +331,6 @@ class LocalSourcePredicate_TRUE implements LocalSourcePredicate {
*/
class PackageUriResolver extends UriResolver {
/**
- * The package directories that `package` URI's are assumed to be relative to.
- */
- final List<JavaFile> _packagesDirectories;
-
- /**
* The name of the `package` scheme.
*/
static String PACKAGE_SCHEME = "package";
@@ -334,12 +341,9 @@ class PackageUriResolver extends UriResolver {
static bool _CanLogRequiredKeyIoException = true;
/**
- * Return `true` if the given URI is a `package` URI.
- *
- * @param uri the URI being tested
- * @return `true` if the given URI is a `package` URI
+ * The package directories that `package` URI's are assumed to be relative to.
*/
- static bool isPackageUri(Uri uri) => PACKAGE_SCHEME == uri.scheme;
+ final List<JavaFile> _packagesDirectories;
/**
* Initialize a newly created resolver to resolve `package` URI's relative to the given
@@ -350,7 +354,8 @@ class PackageUriResolver extends UriResolver {
*/
PackageUriResolver(this._packagesDirectories) {
if (_packagesDirectories.length < 1) {
- throw new IllegalArgumentException("At least one package directory must be provided");
+ throw new IllegalArgumentException(
+ "At least one package directory must be provided");
}
}
@@ -366,6 +371,37 @@ class PackageUriResolver extends UriResolver {
return _packagesDirectories[0].getPath();
}
+ /**
+ * Answer the canonical file for the specified package.
+ *
+ * @param packagesDirectory the "packages" directory (not `null`)
+ * @param pkgName the package name (not `null`, not empty)
+ * @param relPath the path relative to the package directory (not `null`, no leading slash,
+ * but may be empty string)
+ * @return the file (not `null`)
+ */
+ JavaFile getCanonicalFile(JavaFile packagesDirectory, String pkgName,
+ String relPath) {
+ JavaFile pkgDir = new JavaFile.relative(packagesDirectory, pkgName);
+ try {
+ pkgDir = pkgDir.getCanonicalFile();
+ } on JavaIOException catch (exception, stackTrace) {
+ if (!exception.toString().contains("Required key not available")) {
+ AnalysisEngine.instance.logger.logError(
+ "Canonical failed: $pkgDir",
+ new CaughtException(exception, stackTrace));
+ } else if (_CanLogRequiredKeyIoException) {
+ _CanLogRequiredKeyIoException = false;
+ AnalysisEngine.instance.logger.logError(
+ "Canonical failed: $pkgDir",
+ new CaughtException(exception, stackTrace));
+ }
+ }
+ return new JavaFile.relative(
+ pkgDir,
+ relPath.replaceAll('/', new String.fromCharCode(JavaFile.separatorChar)));
+ }
+
@override
Source resolveAbsolute(Uri uri) {
if (!isPackageUri(uri)) {
@@ -396,14 +432,17 @@ class PackageUriResolver extends UriResolver {
for (JavaFile packagesDirectory in _packagesDirectories) {
JavaFile resolvedFile = new JavaFile.relative(packagesDirectory, path);
if (resolvedFile.exists()) {
- JavaFile canonicalFile = getCanonicalFile(packagesDirectory, pkgName, relPath);
+ JavaFile canonicalFile =
+ getCanonicalFile(packagesDirectory, pkgName, relPath);
if (_isSelfReference(packagesDirectory, canonicalFile)) {
uri = canonicalFile.toURI();
}
return new FileBasedSource.con2(uri, canonicalFile);
}
}
- return new FileBasedSource.con2(uri, getCanonicalFile(_packagesDirectories[0], pkgName, relPath));
+ return new FileBasedSource.con2(
+ uri,
+ getCanonicalFile(_packagesDirectories[0], pkgName, relPath));
}
@override
@@ -417,7 +456,8 @@ class PackageUriResolver extends UriResolver {
String pkgCanonicalPath = pkgFolder.getCanonicalPath();
if (sourcePath.startsWith(pkgCanonicalPath)) {
String relPath = sourcePath.substring(pkgCanonicalPath.length);
- return parseUriWithException("$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
+ return parseUriWithException(
+ "$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
}
} catch (e) {
}
@@ -428,34 +468,6 @@ class PackageUriResolver extends UriResolver {
}
/**
- * Answer the canonical file for the specified package.
- *
- * @param packagesDirectory the "packages" directory (not `null`)
- * @param pkgName the package name (not `null`, not empty)
- * @param relPath the path relative to the package directory (not `null`, no leading slash,
- * but may be empty string)
- * @return the file (not `null`)
- */
- JavaFile getCanonicalFile(JavaFile packagesDirectory, String pkgName, String relPath) {
- JavaFile pkgDir = new JavaFile.relative(packagesDirectory, pkgName);
- try {
- pkgDir = pkgDir.getCanonicalFile();
- } on JavaIOException catch (exception, stackTrace) {
- if (!exception.toString().contains("Required key not available")) {
- AnalysisEngine.instance.logger.logError(
- "Canonical failed: $pkgDir",
- new CaughtException(exception, stackTrace));
- } else if (_CanLogRequiredKeyIoException) {
- _CanLogRequiredKeyIoException = false;
- AnalysisEngine.instance.logger.logError(
- "Canonical failed: $pkgDir",
- new CaughtException(exception, stackTrace));
- }
- }
- return new JavaFile.relative(pkgDir, relPath.replaceAll('/', new String.fromCharCode(JavaFile.separatorChar)));
- }
-
- /**
* @return `true` if "file" was found in "packagesDir", and it is part of the "lib" folder
* of the application that contains in this "packagesDir".
*/
@@ -468,6 +480,14 @@ class PackageUriResolver extends UriResolver {
String filePath = file.getAbsolutePath();
return filePath.startsWith("$rootPath/lib");
}
+
+ /**
+ * Return `true` if the given URI is a `package` URI.
+ *
+ * @param uri the URI being tested
+ * @return `true` if the given URI is a `package` URI
+ */
+ static bool isPackageUri(Uri uri) => PACKAGE_SCHEME == uri.scheme;
}
/**
@@ -480,14 +500,6 @@ class RelativeFileUriResolver extends UriResolver {
static String FILE_SCHEME = "file";
/**
- * Return `true` if the given URI is a `file` URI.
- *
- * @param uri the URI being tested
- * @return `true` if the given URI is a `file` URI
- */
- static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME;
-
- /**
* The directories for the relatvie URI's
*/
final List<JavaFile> _relativeDirectories;
@@ -501,7 +513,8 @@ class RelativeFileUriResolver extends UriResolver {
* Initialize a newly created resolver to resolve `file` URI's relative to the given root
* directory.
*/
- RelativeFileUriResolver(this._rootDirectory, this._relativeDirectories) : super();
+ RelativeFileUriResolver(this._rootDirectory, this._relativeDirectories)
+ : super();
@override
Source resolveAbsolute(Uri uri) {
@@ -518,4 +531,12 @@ class RelativeFileUriResolver extends UriResolver {
}
return null;
}
-}
+
+ /**
+ * Return `true` if the given URI is a `file` URI.
+ *
+ * @param uri the URI being tested
+ * @return `true` if the given URI is a `file` URI
+ */
+ static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME;
+}
« no previous file with comments | « pkg/analyzer/lib/src/generated/source.dart ('k') | pkg/analyzer/lib/src/generated/static_type_analyzer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698