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

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

Issue 184893003: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 months 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/sdk_io.dart
diff --git a/pkg/analyzer/lib/src/generated/sdk_io.dart b/pkg/analyzer/lib/src/generated/sdk_io.dart
index 896a15da634e3b966ee5f3c646513b7132918271..51dfe8e839fb156ef1a14e46b7bd309055da8502 100644
--- a/pkg/analyzer/lib/src/generated/sdk_io.dart
+++ b/pkg/analyzer/lib/src/generated/sdk_io.dart
@@ -176,12 +176,20 @@ class DirectoryBasedDartSdk implements DartSdk {
*
* @param sdkDirectory the directory containing the SDK
*/
- DirectoryBasedDartSdk(JavaFile sdkDirectory) {
+ DirectoryBasedDartSdk(JavaFile sdkDirectory) : this.con1(sdkDirectory, false);
+
+ /**
+ * Initialize a newly created SDK to represent the Dart SDK installed in the given directory.
+ *
+ * @param sdkDirectory the directory containing the SDK
+ * @param useDart2jsPaths `true` if the dart2js path should be used when it is available
+ */
+ DirectoryBasedDartSdk.con1(JavaFile sdkDirectory, bool useDart2jsPaths) {
this._sdkDirectory = sdkDirectory.getAbsoluteFile();
initializeSdk();
- initializeLibraryMap();
+ initializeLibraryMap(useDart2jsPaths);
_analysisContext = new AnalysisContextImpl();
- _analysisContext.sourceFactory = new SourceFactory.con2([new DartUriResolver(this)]);
+ _analysisContext.sourceFactory = new SourceFactory([new DartUriResolver(this)]);
List<String> uris = this.uris;
ChangeSet changeSet = new ChangeSet();
for (String uri in uris) {
@@ -190,7 +198,7 @@ class DirectoryBasedDartSdk implements DartSdk {
_analysisContext.applyChanges(changeSet);
}
- Source fromEncoding(ContentCache contentCache, UriKind kind, Uri uri) => new FileBasedSource.con2(contentCache, new JavaFile.fromUri(uri), kind);
+ Source fromEncoding(UriKind kind, Uri uri) => new FileBasedSource.con2(new JavaFile.fromUri(uri), kind);
AnalysisContext get context => _analysisContext;
@@ -342,7 +350,7 @@ class DirectoryBasedDartSdk implements DartSdk {
if (library == null) {
return null;
}
- return new FileBasedSource.con2(_analysisContext.sourceFactory.contentCache, new JavaFile.relative(libraryDirectory, library.path), UriKind.DART_URI);
+ return new FileBasedSource.con2(new JavaFile.relative(libraryDirectory, library.path), UriKind.DART_URI);
}
/**
@@ -382,12 +390,14 @@ class DirectoryBasedDartSdk implements DartSdk {
/**
* Read all of the configuration files to initialize the library maps.
+ *
+ * @param useDart2jsPaths `true` if the dart2js path should be used when it is available
*/
- void initializeLibraryMap() {
+ void initializeLibraryMap(bool useDart2jsPaths) {
JavaFile librariesFile = new JavaFile.relative(new JavaFile.relative(libraryDirectory, _INTERNAL_DIR), _LIBRARIES_FILE);
try {
String contents = librariesFile.readAsStringSync();
- _libraryMap = new SdkLibrariesReader().readFrom(librariesFile, contents);
+ _libraryMap = new SdkLibrariesReader(useDart2jsPaths).readFrom(librariesFile, contents);
} on JavaException catch (exception) {
AnalysisEngine.instance.logger.logError2("Could not initialize the library map from ${librariesFile.getAbsolutePath()}", exception);
_libraryMap = new LibraryMap();
@@ -431,13 +441,28 @@ class DirectoryBasedDartSdk implements DartSdk {
*/
class SdkLibrariesReader {
/**
+ * A flag indicating whether the dart2js path should be used when it is available.
+ */
+ bool _useDart2jsPaths = false;
+
+ /**
+ * Initialize a newly created library reader to use the dart2js path if the given value is
+ * `true`.
+ *
+ * @param useDart2jsPaths `true` if the dart2js path should be used when it is available
+ */
+ SdkLibrariesReader(bool useDart2jsPaths) {
+ this._useDart2jsPaths = useDart2jsPaths;
+ }
+
+ /**
* Return the library map read from the given source.
*
* @param file the [File] of the library file
* @param libraryFileContents the contents from the library file
* @return the library map read from the given source
*/
- LibraryMap readFrom(JavaFile file, String libraryFileContents) => readFrom2(new FileBasedSource.con2(null, file, UriKind.FILE_URI), libraryFileContents);
+ LibraryMap readFrom(JavaFile file, String libraryFileContents) => readFrom2(new FileBasedSource.con2(file, UriKind.FILE_URI), libraryFileContents);
/**
* Return the library map read from the given source.
@@ -451,7 +476,7 @@ class SdkLibrariesReader {
Scanner scanner = new Scanner(source, new CharSequenceReader(libraryFileContents), errorListener);
Parser parser = new Parser(source, errorListener);
CompilationUnit unit = parser.parseCompilationUnit(scanner.tokenize());
- SdkLibrariesReader_LibraryBuilder libraryBuilder = new SdkLibrariesReader_LibraryBuilder();
+ SdkLibrariesReader_LibraryBuilder libraryBuilder = new SdkLibrariesReader_LibraryBuilder(_useDart2jsPaths);
// If any syntactic errors were found then don't try to visit the AST structure.
if (!errorListener.errorReported) {
unit.accept(libraryBuilder);

Powered by Google App Engine
This is Rietveld 408576698