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

Unified Diff: dart/compiler/java/com/google/dart/compiler/SystemLibrariesReader.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/SystemLibrariesReader.java
diff --git a/dart/compiler/java/com/google/dart/compiler/SystemLibrariesReader.java b/dart/compiler/java/com/google/dart/compiler/SystemLibrariesReader.java
deleted file mode 100644
index 56d3bbf950ce73ae24b313357034c05842c2ad2e..0000000000000000000000000000000000000000
--- a/dart/compiler/java/com/google/dart/compiler/SystemLibrariesReader.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright (c) 2012, the Dart project authors.
- *
- * Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.dart.compiler;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.io.CharStreams;
-import com.google.common.io.Closeables;
-import com.google.dart.compiler.CompilerConfiguration.ErrorFormat;
-import com.google.dart.compiler.ast.ASTVisitor;
-import com.google.dart.compiler.ast.DartBooleanLiteral;
-import com.google.dart.compiler.ast.DartExpression;
-import com.google.dart.compiler.ast.DartFieldDefinition;
-import com.google.dart.compiler.ast.DartIdentifier;
-import com.google.dart.compiler.ast.DartMapLiteralEntry;
-import com.google.dart.compiler.ast.DartNamedExpression;
-import com.google.dart.compiler.ast.DartNewExpression;
-import com.google.dart.compiler.ast.DartNode;
-import com.google.dart.compiler.ast.DartStringLiteral;
-import com.google.dart.compiler.ast.DartUnit;
-import com.google.dart.compiler.metrics.CompilerMetrics;
-import com.google.dart.compiler.parser.DartParser;
-import com.google.dart.compiler.util.DartSourceString;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URI;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A reader that parses and reads the libraries dart-sdk/lib/_internal/libraries.dart file for
- * system library information library information is in the format final Map<String, LibraryInfo>
- * LIBRARIES = const <LibraryInfo> { // Used by VM applications "builtin": const LibraryInfo(
- * "builtin/builtin_runtime.dart", category: "Server", platforms: VM_PLATFORM), "compiler": const
- * LibraryInfo( "compiler/compiler.dart", category: "Tools", platforms: 0), };
- */
-public class SystemLibrariesReader {
-
- @VisibleForTesting
- public class DartLibrary {
-
- private String shortName = null;
- private String path = null;
- private String category = "Shared";
- private boolean documented = true;
- private boolean implementation = false;
- private int platforms = 0;
-
- DartLibrary(String name) {
- this.shortName = name;
- }
-
- public String getShortName() {
- return shortName;
- }
-
- public String getPath() {
- return path;
- }
-
- public void setPath(String path) {
- this.path = path;
- }
-
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public boolean isDocumented() {
- return documented;
- }
-
- public void setDocumented(boolean documented) {
- this.documented = documented;
- }
-
- public boolean isImplementation() {
- return implementation;
- }
-
- public void setImplementation(boolean implementation) {
- this.implementation = implementation;
- }
-
- public boolean isDart2JsLibrary() {
- return (platforms & DART2JS_PLATFORM) != 0;
- }
-
- public boolean isVmLibrary() {
- return (platforms & VM_PLATFORM) != 0;
- }
-
- public void setPlatforms(int platforms) {
- this.platforms = platforms;
- }
- }
-
- class LibrariesFileAstVistor extends ASTVisitor<Void> {
-
- @Override
- public Void visitMapLiteralEntry(DartMapLiteralEntry node) {
-
- String keyString = null;
- DartExpression key = node.getKey();
- if (key instanceof DartStringLiteral) {
- keyString = "dart:" + ((DartStringLiteral) key).getValue();
- }
- DartExpression value = node.getValue();
- if (value instanceof DartNewExpression) {
- DartLibrary library = new DartLibrary(keyString);
- List<DartExpression> args = ((DartNewExpression) value).getArguments();
- for (DartExpression arg : args) {
- if (arg instanceof DartStringLiteral) {
- library.setPath(((DartStringLiteral) arg).getValue());
- }
- if (arg instanceof DartNamedExpression) {
- String name = ((DartNamedExpression) arg).getName().getName();
- DartExpression expression = ((DartNamedExpression) arg).getExpression();
- if (name.equals(CATEGORY)) {
- library.setCategory(((DartStringLiteral) expression).getValue());
- } else if (name.equals(IMPLEMENTATION)) {
- library.setImplementation(((DartBooleanLiteral) expression).getValue());
- } else if (name.equals(DOCUMENTED)) {
- library.setDocumented(((DartBooleanLiteral) expression).getValue());
- } else if (name.equals(PATCH_PATH)) {
- String path = ((DartStringLiteral) expression).getValue();
- URI uri = sdkLibPath.resolve(URI.create(path));
- patchPaths.add(uri);
- } else if (name.equals(PLATFORMS)) {
- if (expression instanceof DartIdentifier) {
- String identifier = ((DartIdentifier) expression).getName();
- if (identifier.equals("VM_PLATFORM")) {
- library.setPlatforms(VM_PLATFORM);
- } else {
- library.setPlatforms(DART2JS_PLATFORM);
- }
- }
- }
- }
- }
- librariesMap.put(keyString, library);
- }
- return null;
- }
-
- }
-
- public static final String LIBRARIES_FILE = "libraries.dart";
- public static final String INTERNAL_DIR = "_internal";
-
- private static final String IMPLEMENTATION = "implementation";
- private static final String DOCUMENTED = "documented";
- private static final String CATEGORY = "category";
- private static final String PATCH_PATH = "dart2jsPatchPath";
- private static final String PLATFORMS = "platforms";
-
- private static final int DART2JS_PLATFORM = 1;
- private static final int VM_PLATFORM = 2;
-
- private final URI sdkLibPath;
- private final Map<String, DartLibrary> librariesMap = new HashMap<String, DartLibrary>();
- private final List<URI> patchPaths = new ArrayList<URI>();
-
- public SystemLibrariesReader(URI sdkLibPath, Reader sdkFileReader) {
- this.sdkLibPath = sdkLibPath;
- loadLibraryInfo(sdkFileReader);
- }
-
- public SystemLibrariesReader(File sdkLibPath) throws IOException {
- this(sdkLibPath.getAbsoluteFile().toURI(), new InputStreamReader(new FileInputStream(
- getLibrariesFile(sdkLibPath)), Charset.forName("UTF8")));
- }
-
- public Map<String, DartLibrary> getLibrariesMap() {
- return librariesMap;
- }
-
- public List<URI> getPatchPaths() {
- return patchPaths;
- }
-
- private void loadLibraryInfo(Reader sdkFileReader) {
-
- DartUnit unit = getDartUnit(sdkFileReader);
-
- List<DartNode> nodes = unit.getTopLevelNodes();
- for (DartNode node : nodes) {
- if (node instanceof DartFieldDefinition) {
- node.accept(new LibrariesFileAstVistor());
- }
- }
- }
-
- /**
- * Parse the given dart file and return the AST
- *
- * @param fileReader the dart file reader
- * @return the parsed AST
- */
- private DartUnit getDartUnit(Reader fileReader) {
-
- String srcCode = getSource(fileReader);
- DartSourceString dartSource = new DartSourceString(LIBRARIES_FILE, srcCode);
- DefaultDartCompilerListener listener = new DefaultDartCompilerListener(ErrorFormat.NORMAL);
- DartParser parser = new DartParser(
- dartSource,
- srcCode,
- false,
- new HashSet<String>(),
- listener,
- new CompilerMetrics());
- return parser.parseUnit();
- }
-
- private String getSource(Reader reader) {
- String srcCode = null;
- boolean failed = true;
- try {
- srcCode = CharStreams.toString(reader);
- failed = false;
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- Closeables.close(reader, failed);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return srcCode;
- }
-
- private static File getLibrariesFile(File sdkLibDir) {
- File file = new File(new File(sdkLibDir, INTERNAL_DIR), LIBRARIES_FILE);
- if (!file.exists()) {
- throw new InternalCompilerException("Failed to find " + file.toString()
- + ". Is dart-sdk path correct?");
- }
- return file;
- }
-
-}

Powered by Google App Engine
This is Rietveld 408576698