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

Unified Diff: dart/compiler/java/com/google/dart/compiler/DartCompilerMainContext.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/DartCompilerMainContext.java
diff --git a/dart/compiler/java/com/google/dart/compiler/DartCompilerMainContext.java b/dart/compiler/java/com/google/dart/compiler/DartCompilerMainContext.java
deleted file mode 100644
index ea3ea09122acfcaf925fccd36c20f1b6b8b042c4..0000000000000000000000000000000000000000
--- a/dart/compiler/java/com/google/dart/compiler/DartCompilerMainContext.java
+++ /dev/null
@@ -1,232 +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.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.dart.compiler.ast.DartUnit;
-import com.google.dart.compiler.ast.LibraryUnit;
-import com.google.dart.compiler.metrics.CompilerMetrics;
-import com.google.dart.compiler.parser.DartParser;
-import com.google.dart.compiler.resolver.Elements;
-import com.google.dart.compiler.resolver.ResolverErrorCode;
-import com.google.dart.compiler.resolver.TypeErrorCode;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URI;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * An overall context for the Dart compiler providing an adapter and forwarding
- * mechanism for to both {@link DartArtifactProvider} and
- * {@link DartCompilerListener}. This is an internal compiler construct and as
- * such should not be instantiated or subclassed by those outside the compiler
- * itself.
- */
-final class DartCompilerMainContext implements DartCompilerListener, DartCompilerContext {
-
- private final LibrarySource lib;
- private final DartArtifactProvider provider;
- private final DartCompilerListener listener;
- private final Map<Source, List<DartCompilationError>> errors = Maps.newHashMap();
- private final AtomicInteger errorCount = new AtomicInteger(0);
- private final AtomicInteger warningCount = new AtomicInteger(0);
- private final AtomicInteger typeErrorCount = new AtomicInteger(0);
- private final AtomicBoolean filesHaveChanged = new AtomicBoolean();
- // declared volatile for thread-safety
- private volatile LibraryUnit appLibraryUnit = null;
-
- private final CompilerConfiguration compilerConfiguration;
-
- DartCompilerMainContext(LibrarySource lib, DartArtifactProvider provider,
- DartCompilerListener listener,
- CompilerConfiguration compilerConfiguration) {
- this.lib = lib;
- this.provider = provider;
- this.listener = listener;
- this.compilerConfiguration = compilerConfiguration;
- }
-
- @Override
- public void onError(DartCompilationError event) {
- // problems in dart:core are not interesting
- // http://code.google.com/p/dart/issues/detail?id=7128
- if (Elements.isCoreLibrarySource(event.getSource())) {
- ErrorCode ec = event.getErrorCode();
- if (ec == ResolverErrorCode.EXPECTED_CONSTANT_EXPRESSION_NUMBER
- || ec == TypeErrorCode.ASSERT_BOOL
- || ec == TypeErrorCode.TYPE_NOT_ASSIGNMENT_COMPATIBLE
- || ec == TypeErrorCode.FOR_IN_WITH_INVALID_ITERATOR_RETURN_TYPE
- || ec == TypeErrorCode.OPERATOR_EQUALS_BOOL_RETURN_TYPE
- || ec == TypeErrorCode.CANNOT_OVERRIDE_TYPED_MEMBER
- || ec == TypeErrorCode.CANNOT_OVERRIDE_METHOD_NOT_SUBTYPE
- || ec == TypeErrorCode.OPERATOR_WRONG_OPERAND_TYPE) {
- return;
- }
- }
-
- // Remember error.
- {
- Source source = event.getSource();
- if (source != null) {
- List<DartCompilationError> sourceErrors = errors.get(source);
- if (sourceErrors == null) {
- sourceErrors = Lists.newArrayList();
- errors.put(source, sourceErrors);
- }
- sourceErrors.add(event);
- }
- }
- // Increment counters.
- if (event.getErrorCode().getSubSystem() == SubSystem.STATIC_TYPE) {
- incrementTypeErrorCount();
- }
- if (event.getErrorCode().getErrorSeverity() == ErrorSeverity.ERROR) {
- incrementErrorCount();
- } else if (event.getErrorCode().getErrorSeverity() == ErrorSeverity.WARNING) {
- incrementWarningCount();
- }
- // Notify listener.
- listener.onError(event);
- }
-
- @Override
- public LibraryUnit getApplicationUnit() {
- return getAppLibraryUnit();
- }
-
- @Override
- public LibraryUnit getAppLibraryUnit() {
- // use double-checked looking pattern with use of volatile
- if (appLibraryUnit == null) {
- synchronized (this) {
- if (appLibraryUnit == null) {
- try {
- appLibraryUnit = new DartParser(lib, DartParser.read(lib), false,
- Sets.<String> newHashSet(), DartCompilerListener.EMPTY, null).preProcessLibraryDirectives(lib);
- } catch (IOException e) {
- onError(new DartCompilationError(lib, DartCompilerErrorCode.IO, e.getMessage()));
- return null;
- }
- }
- }
- }
- return appLibraryUnit;
- }
-
- @Override
- public Reader getArtifactReader(Source source, String part, String extension)
- throws IOException {
- return provider.getArtifactReader(source, part, extension);
- }
-
- @Override
- public URI getArtifactUri(DartSource source, String part, String extension) {
- return provider.getArtifactUri(source, part, extension);
- }
-
- @Override
- public Writer getArtifactWriter(Source source, String part, String extension)
- throws IOException {
- return provider.getArtifactWriter(source, part, extension);
- }
-
- /**
- * @return the {@link DartCompilationError}s found in the given {@link Source}.
- */
- public List<DartCompilationError> getSourceErrors(Source source) {
- List<DartCompilationError> sourceErrors = errors.get(source);
- if (sourceErrors != null) {
- return sourceErrors;
- }
- return Collections.emptyList();
- }
-
- public int getErrorCount() {
- return errorCount.get();
- }
-
- public int getWarningCount() {
- return warningCount.get();
- }
-
- public int getTypeErrorCount() {
- return typeErrorCount.get();
- }
-
- @Override
- public LibraryUnit getLibraryUnit(LibrarySource libSrc) {
- if (libSrc == lib) {
- return getApplicationUnit();
- }
- try {
- return new DartParser(libSrc, DartParser.read(libSrc), false,
- Sets.<String> newHashSet(), listener, null).preProcessLibraryDirectives(libSrc);
- } catch (IOException e) {
- onError(new DartCompilationError(libSrc, DartCompilerErrorCode.IO, e.getMessage()));
- return null;
- }
- }
-
- @Override
- public boolean isOutOfDate(Source source, Source base, String extension) {
- return provider.isOutOfDate(source, base, extension);
- }
-
- protected void incrementErrorCount() {
- errorCount.incrementAndGet();
- }
-
- protected void incrementWarningCount() {
- warningCount.incrementAndGet();
- }
-
- protected void incrementTypeErrorCount() {
- typeErrorCount.incrementAndGet();
- }
-
- @Override
- public CompilerMetrics getCompilerMetrics() {
- return compilerConfiguration.getCompilerMetrics();
- }
-
- public void setFilesHaveChanged() {
- filesHaveChanged.set(true);
- }
-
- public boolean getFilesHaveChanged() {
- return filesHaveChanged.get();
- }
-
- @Override
- public CompilerConfiguration getCompilerConfiguration() {
- return compilerConfiguration;
- }
-
- /**
- * Return the system library corresponding to the specified "dart:<libname>" spec.
- */
- @Override
- public LibrarySource getSystemLibraryFor(String importSpec) {
- return compilerConfiguration.getSystemLibraryFor(importSpec);
- }
-
- @Override
- public void unitAboutToCompile(DartSource source, boolean diet) {
- listener.unitAboutToCompile(source, diet);
- }
-
- @Override
- public void unitCompiled(DartUnit unit) {
- listener.unitCompiled(unit);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698