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

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

Issue 20722006: Removed compiler/ directory from repository (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 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: dart/compiler/java/com/google/dart/compiler/SystemLibraryManager.java
diff --git a/dart/compiler/java/com/google/dart/compiler/SystemLibraryManager.java b/dart/compiler/java/com/google/dart/compiler/SystemLibraryManager.java
deleted file mode 100644
index a86558ef4660cde66090403652308023eee14adc..0000000000000000000000000000000000000000
--- a/dart/compiler/java/com/google/dart/compiler/SystemLibraryManager.java
+++ /dev/null
@@ -1,241 +0,0 @@
-// Copyright (c) 2012, 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.
-
-package com.google.dart.compiler;
-
-import com.google.dart.compiler.SystemLibrariesReader.DartLibrary;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * A Library manager that manages system libraries
- */
-public class SystemLibraryManager {
-
- private HashMap<String, String> expansionMap;
- private Map<String, SystemLibrary> hostMap;
- private final URI sdkLibPathUri;
-
- private Map<URI, URI> longToShortUriMap;
-
- private List<SystemLibrary> libraries;
- private final SystemLibraryProvider libraryProvider;
-
- public SystemLibraryManager(File sdkPath) {
- this(new FileBasedSystemLibraryProvider(sdkPath));
- }
-
- public SystemLibraryManager(SystemLibraryProvider libraryProvider) {
- this.libraryProvider = libraryProvider;
- this.sdkLibPathUri = libraryProvider.getSdkLibPathUri();
- setLibraries(getDefaultLibraries());
- }
-
- public URI expandRelativeDartUri(URI uri) throws AssertionError {
- String host = uri.getHost();
- if (host == null && uri.getAuthority() == null) {
- String spec = uri.getSchemeSpecificPart();
- String replacement = expansionMap.get(spec);
- if (replacement != null) {
- try {
- uri = new URI(PackageLibraryManager.DART_SCHEME + ":" + replacement);
- } catch (URISyntaxException e) {
- throw new AssertionError();
- }
- } else {
- return null;
- }
- }
- return uri;
- }
-
- public URI getRelativeUri(URI fileUri) {
-
- if (fileUri == null || !fileUri.getScheme().equals("file")){
- return null;
- }
-
- URI relativeUri = sdkLibPathUri.relativize(fileUri);
- if (relativeUri.getScheme() == null) {
- try {
- return new URI(null, null, "dart://" + relativeUri.getPath(), null, null);
- } catch (URISyntaxException e) {
- //$FALL-THROUGH$
- }
- }
- return null;
- }
-
- public URI getShortUri(URI uri) {
- URI shortUri = longToShortUriMap.get(uri);
- if (shortUri != null){
- return shortUri;
- }
- shortUri = getRelativeUri(uri);
- if (shortUri != null){
- try {
- return new URI(null, null, shortUri.getScheme() + ":" + shortUri.getHost() + shortUri.getPath(),null, null);
- } catch (URISyntaxException e) {
- }
- }
- return null;
- }
-
- public URI translateDartUri(URI uri) {
-
- String host = uri.getHost();
-
- SystemLibrary library = hostMap.get(host);
- if (library != null) {
- return library.translateUri(uri);
- }
- if (host != null) {
- return libraryProvider.resolveHost(host, uri);
- }
- String authorithy = uri.getAuthority();
- if (authorithy != null){
- return libraryProvider.resolveHost(authorithy, uri);
- }
- throw new RuntimeException("No system library defined for " + uri);
-
- }
-
-
- public Collection<String> getAllLibrarySpecs() {
- Collection<String> result = new ArrayList<String>(libraries.size());
- for (SystemLibrary lib : libraries) {
- result.add("dart:" + lib.getShortName());
- }
- return result;
- }
-
- public Collection<SystemLibrary> getAllSystemLibraries(){
- return libraries;
- }
-
- /**
- * Load the libraries listed out in the libraries.dart files as read by the {@link SystemLibrariesReader}
- */
- protected SystemLibrary[] getDefaultLibraries() {
- libraries = new ArrayList<SystemLibrary>();
- longToShortUriMap = new HashMap<URI, URI>();
-
- // Cycle through the import.config, extracting explicit mappings and searching directories
- URI base = this.sdkLibPathUri;
-
- Map<String, DartLibrary> declaredLibraries = libraryProvider.getLibraryMap();
-
- HashSet<String> explicitShortNames = new HashSet<String>();
-
- for (Entry<String, DartLibrary> entry : declaredLibraries.entrySet()) {
- if (entry.getValue().getCategory().equals("Internal")
- // TODO(8365): the following line allows dart:_collection-dev to
- // be imported even though it's a hidden library.
- && !entry.getKey().equals("dart:_collection-dev")) {
- continue;
- }
- String shortName = entry.getKey().trim();
- DartLibrary library = entry.getValue();
- String path = library.getPath();
- URI libFileUri;
- try {
- libFileUri = base.resolve(new URI(null, null, path, null, null)).normalize();
- } catch (URISyntaxException e) {
- continue;
- }
-
- if (!libraryProvider.exists(libFileUri)) {
- throw new InternalCompilerException("Can't find system library dart:" + shortName
- + " at " + libFileUri);
- }
-
- int index = shortName.indexOf(':');
- if (index == -1) {
- continue;
- }
- explicitShortNames.add(shortName);
- String scheme = shortName.substring(0, index + 1);
- String name = shortName.substring(index + 1);
-
- String relPath = sdkLibPathUri.relativize(libFileUri).getPath();
- index = relPath.indexOf('/');
- if (index == -1) {
- continue;
- }
- String host = relPath.substring(0, index);
- String pathToLib = relPath.substring(index + 1);
-
- addLib(scheme,
- host,
- name,
- pathToLib,
- library.getCategory(),
- library.isDocumented(),
- library.isImplementation());
-
- }
- return libraries.toArray(new SystemLibrary[libraries.size()]);
- }
-
- protected boolean addLib(String scheme, String host, String name, String pathToLib,
- String category, boolean documented, boolean implementation)
- throws AssertionError {
-
- SystemLibrary lib = libraryProvider.createSystemLibrary(name, host, pathToLib, category, documented, implementation);
- libraries.add(lib);
-
- String libSpec = scheme + name;
- URI libUri;
- URI expandedUri;
- try {
- libUri = new URI(libSpec);
- expandedUri = new URI("dart:" + "//" + host + "/" + pathToLib);
- } catch (URISyntaxException e) {
- throw new AssertionError(e);
- }
- URI resolvedUri = lib.translateUri(expandedUri);
- longToShortUriMap.put(resolvedUri, libUri);
- longToShortUriMap.put(expandedUri, libUri);
- return true;
- }
-
- /**
- * Register system libraries for the "dart:" protocol such that dart:[shortLibName] (e.g.
- * "dart:html") will automatically be expanded to dart://[host]/[pathToLib] (e.g.
- * dart://html/html.dart)
- */
- private void setLibraries(SystemLibrary[] newLibraries) {
- libraries = new ArrayList<SystemLibrary>();
- hostMap = new HashMap<String, SystemLibrary>();
- expansionMap = new HashMap<String, String>();
- for (SystemLibrary library : newLibraries) {
- String host = library.getHost();
- SystemLibrary existingLib = hostMap.get(host);
- if (existingLib != null) {
- libraries.remove(existingLib);
- }
- libraries.add(library);
- hostMap.put(host, library);
- expansionMap.put(library.getShortName(),
- "//" + host + "/" + library.getPathToLib());
- }
- }
-
- /**
- * Check if this URI denotes a patch file.
- */
- public boolean isPatchFile(URI uri) {
- return libraryProvider.isPatchFile(uri);
- }
-
-}

Powered by Google App Engine
This is Rietveld 408576698