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

Unified Diff: pkg/fletchc/lib/src/fletch_compiler_implementation.dart

Issue 1450393002: Roll sdk dependency to 34357cdad108dcba734949bd13bd28c76ea285e0 (Closed) Base URL: git@github.com:dart-lang/fletch.git@master
Patch Set: Created 5 years, 1 month 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/fletchc/lib/src/fletch_compiler_implementation.dart
diff --git a/pkg/fletchc/lib/src/fletch_compiler_implementation.dart b/pkg/fletchc/lib/src/fletch_compiler_implementation.dart
index 8b905f2c0c9129f4326e739fa3b6a718a6d98782..f21e3dd04745ac5f14ad2be0a636a2b7de08cdc3 100644
--- a/pkg/fletchc/lib/src/fletch_compiler_implementation.dart
+++ b/pkg/fletchc/lib/src/fletch_compiler_implementation.dart
@@ -8,13 +8,15 @@ import 'dart:async' show
EventSink;
import 'package:sdk_library_metadata/libraries.dart' show
- libraries,
LibraryInfo;
import 'package:compiler/compiler_new.dart' as api;
import 'package:compiler/src/apiimpl.dart' as apiimpl;
+import 'package:compiler/src/compiler.dart' show
+ GlobalDependencyRegistry;
+
import 'package:compiler/src/io/source_file.dart';
import 'package:compiler/src/source_file_provider.dart' show
@@ -27,16 +29,17 @@ import 'package:compiler/src/elements/modelx.dart' show
import 'package:compiler/compiler_new.dart' show
CompilerOutput;
-import 'package:compiler/src/util/uri_extras.dart' show
- relativize;
-
-import 'package:compiler/src/dart2jslib.dart' show
- CodegenRegistry,
+import 'package:compiler/src/diagnostics/messages.dart' show
Message,
MessageKind,
MessageTemplate;
+import 'package:compiler/src/diagnostics/source_span.dart' show
+ SourceSpan;
+
+import 'package:compiler/src/diagnostics/diagnostic_listener.dart' show
+ DiagnosticMessage;
-import 'package:compiler/src/util/util.dart' show
+import 'package:compiler/src/diagnostics/spannable.dart' show
Spannable;
import 'fletch_registry.dart' show
@@ -51,8 +54,12 @@ import 'debug_info.dart';
import 'find_position_visitor.dart';
import 'fletch_context.dart';
+import 'fletch_enqueuer.dart' show
+ FletchEnqueueTask;
+
import '../fletch_system.dart';
+
ahe 2015/11/17 16:44:09 Extra line.
sigurdm 2015/11/19 14:33:47 Done.
const EXTRA_DART2JS_OPTIONS = const <String>[
// TODO(ahe): This doesn't completely disable type inference. Investigate.
'--disable-type-inference',
@@ -112,7 +119,7 @@ const Map<String, LibraryInfo> FLETCH_LIBRARIES = const {
platforms: FLETCH_PLATFORM),
};
-class FletchCompilerImplementation extends apiimpl.Compiler {
+class FletchCompilerImplementation extends apiimpl.CompilerImpl {
final Map<String, LibraryInfo> fletchLibraries = <String, LibraryInfo>{};
final Uri fletchVm;
@@ -129,6 +136,9 @@ class FletchCompilerImplementation extends apiimpl.Compiler {
// TODO(ahe): Clean this up and remove this.
var helper;
+ @override
+ FletchEnqueueTask get enqueuer => super.enqueuer;
+
FletchCompilerImplementation(
api.CompilerInput provider,
api.CompilerOutput outputProvider,
@@ -144,9 +154,8 @@ class FletchCompilerImplementation extends apiimpl.Compiler {
provider, outputProvider, handler, libraryRoot, null,
EXTRA_DART2JS_OPTIONS.toList()..addAll(options), environment,
packageConfig, null, FletchBackend.newInstance) {
- CodegenRegistry global = globalDependencies;
- globalDependencies =
- new FletchRegistry(this, global.treeElements).asRegistry;
+ GlobalDependencyRegistry global = globalDependencies;
+ globalDependencies = new FletchRegistry(this, global).asRegistry;
}
bool get showPackageWarnings => true;
@@ -160,50 +169,17 @@ class FletchCompilerImplementation extends apiimpl.Compiler {
String fletchPatchLibraryFor(String name) => FLETCH_PATCHES[name];
- LibraryInfo lookupLibraryInfo(String name) {
- return fletchLibraries.putIfAbsent(name, () {
- // Let FLETCH_LIBRARIES shadow libraries.
- if (FLETCH_LIBRARIES.containsKey(name)) {
- return computeFletchLibraryInfo(name);
- }
- LibraryInfo info = libraries[name];
- if (info == null) {
- return computeFletchLibraryInfo(name);
- }
- return new LibraryInfo(
- info.path,
- categories: info.categoriesString,
- dart2jsPath: info.dart2jsPath,
- dart2jsPatchPath: fletchPatchLibraryFor(name),
- implementation: info.implementation,
- documented: info.documented,
- maturity: info.maturity,
- platforms: info.platforms);
- });
- }
-
- LibraryInfo computeFletchLibraryInfo(String name) {
- LibraryInfo info = FLETCH_LIBRARIES[name];
- if (info == null) return null;
- // Since this LibraryInfo is completely internal to Fletch, there's no need
- // for dart2js extensions and patches.
- assert(info.dart2jsPath == null);
- assert(info.dart2jsPatchPath == null);
- String path = relativize(
- libraryRoot, patchRoot.resolve("lib/${info.path}"), false);
- return new LibraryInfo(
- '../$path',
- categories: info.categoriesString,
- implementation: info.implementation,
- documented: info.documented,
- maturity: info.maturity,
- platforms: info.platforms);
+ @override
+ Uri lookupLibraryUri(String libraryName) {
+ LibraryInfo info = FLETCH_LIBRARIES[libraryName];
+ if (info == null) return super.lookupLibraryUri(libraryName);
+ return patchRoot.resolve("lib/${info.path}");
}
Uri resolvePatchUri(String dartLibraryPath) {
- String patchPath = lookupPatchPath(dartLibraryPath);
+ String patchPath = fletchPatchLibraryFor(dartLibraryPath);
if (patchPath == null) return null;
- return patchRoot.resolve(patchPath);
+ return patchRoot.resolve("lib/$patchPath");
}
CompilationUnitElementX compilationUnitForUri(Uri uri) {
@@ -266,13 +242,15 @@ class FletchCompilerImplementation extends apiimpl.Compiler {
void reportVerboseInfo(
Spannable node,
- String message,
+ String messageText,
{bool forceVerbose: false}) {
// TODO(johnniwinther): Use super.reportVerboseInfo once added.
if (forceVerbose || verbose) {
MessageTemplate template = MessageTemplate.TEMPLATES[MessageKind.GENERIC];
- reportDiagnostic(
- node, template.message({'text': message}, true), api.Diagnostic.HINT);
+ SourceSpan span = reporter.spanFromSpannable(node);
+ Message message = template.message({'text': messageText});
+ reportDiagnostic(new DiagnosticMessage(span, node, message),
+ [], api.Diagnostic.HINT);
}
}
@@ -292,7 +270,7 @@ class FletchCompilerImplementation extends apiimpl.Compiler {
messageKind = MessageKind.GENERIC;
arguments = {'text': noMirrors};
}
- super.reportError(node, messageKind, arguments);
+ super.reporter.reportErrorMessage(node, messageKind, arguments);
}
}

Powered by Google App Engine
This is Rietveld 408576698