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

Unified Diff: compiler/java/com/google/dart/compiler/FileBasedSystemLibraryProvider.java

Issue 11027006: Dart analyzer fixes to improve pluggability. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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
« no previous file with comments | « no previous file | compiler/java/com/google/dart/compiler/SystemLibrariesReader.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compiler/java/com/google/dart/compiler/FileBasedSystemLibraryProvider.java
===================================================================
--- compiler/java/com/google/dart/compiler/FileBasedSystemLibraryProvider.java (revision 13079)
+++ compiler/java/com/google/dart/compiler/FileBasedSystemLibraryProvider.java (working copy)
@@ -13,64 +13,33 @@
*/
package com.google.dart.compiler;
-import com.google.dart.compiler.SystemLibrariesReader.DartLibrary;
-
import java.io.File;
+import java.io.IOException;
import java.net.URI;
-import java.util.Map;
/**
* A file-based {@link SystemLibraryProvider} that reads dart-sdk/lib/_internal/libraries.dart for
* system library information.
*/
-public class FileBasedSystemLibraryProvider implements SystemLibraryProvider {
+public class FileBasedSystemLibraryProvider extends SystemLibraryProvider {
private File sdkLibPath;
- private URI sdkLibPathUri;
- private SystemLibrariesReader reader;
/**
* Create a {@link FileBasedSystemLibraryProvider} with the given path to the dart SDK.
*/
public FileBasedSystemLibraryProvider(File sdkPath) {
+ super(new File(sdkPath, "lib").getAbsoluteFile().toURI());
+ //TODO(pquitslund): remove this duplicated file creation
sdkLibPath = new File(sdkPath, "lib").getAbsoluteFile();
- sdkLibPathUri = sdkLibPath.toURI();
}
-
@Override
- public URI getSdkLibPathUri() {
- return sdkLibPathUri;
+ protected SystemLibrariesReader createReader() throws IOException {
+ return new SystemLibrariesReader(sdkLibPath);
}
- private SystemLibrariesReader getReader() {
- if (reader == null) {
- reader = new SystemLibrariesReader(sdkLibPath);
- }
- return reader;
- }
-
@Override
- public Map<String, DartLibrary> getLibraryMap() {
- return getReader().getLibrariesMap();
- }
-
- @Override
- public URI resolveHost(String host, URI uri) {
- return new File(sdkLibPath, host).toURI().resolve("." + uri.getPath());
- }
-
- @Override
- public boolean exists(URI uri) {
- return new File(uri).exists();
- }
-
- @Override
- public boolean isPatchFile(URI uri) {
- return getReader().getPatchPaths().contains(uri);
- }
-
- @Override
public SystemLibrary createSystemLibrary(String name, String host, String pathToLib,
String category, boolean documented, boolean implementation) {
@@ -87,4 +56,14 @@
name, host, pathToLib, dir, category, documented, implementation);
}
+ @Override
+ public boolean exists(URI uri) {
+ return new File(uri).exists();
+ }
+
+ @Override
+ public URI resolveHost(String host, URI uri) {
+ return new File(sdkLibPath, host).toURI().resolve("." + uri.getPath());
+ }
+
}
« no previous file with comments | « no previous file | compiler/java/com/google/dart/compiler/SystemLibrariesReader.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698