| Index: sdk/lib/_internal/compiler/implementation/compiler.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/compiler.dart b/sdk/lib/_internal/compiler/implementation/compiler.dart
|
| index 1ded67edec6988131570988d2d1a7ad98bdaec6e..afe4140dd054e00c62dbc251ca05fbbeabf0887b 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/compiler.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/compiler.dart
|
| @@ -11,11 +11,6 @@ part of dart2js;
|
| const bool REPORT_EXCESS_RESOLUTION = false;
|
|
|
| /**
|
| - * If true, dump the inferred types after compilation.
|
| - */
|
| -const bool DUMP_INFERRED_TYPES = false;
|
| -
|
| -/**
|
| * Contains backend-specific data that is used throughout the compilation of
|
| * one work item.
|
| */
|
| @@ -85,6 +80,10 @@ abstract class Backend {
|
| [ConstantSystem constantSystem = DART_CONSTANT_SYSTEM])
|
| : this.constantSystem = constantSystem;
|
|
|
| + // Given a [FunctionElement], return a buffer with the code generated for it
|
| + // or null if no code was generated.
|
| + CodeBuffer codeOf(FunctionElement functionElement) => null;
|
| +
|
| void initializeHelperClasses() {}
|
|
|
| void enqueueAllTopLevelFunctions(LibraryElement lib, Enqueuer world) {
|
| @@ -110,9 +109,6 @@ abstract class Backend {
|
|
|
| void onResolutionComplete() {}
|
|
|
| - // TODO(ahe,karlklose): rename this?
|
| - void dumpInferredTypes() {}
|
| -
|
| ItemCompilationContext createItemCompilationContext() {
|
| return new ItemCompilationContext();
|
| }
|
| @@ -368,6 +364,7 @@ abstract class Compiler implements DiagnosticListener {
|
| final bool trustTypeAnnotations;
|
| final bool enableConcreteTypeInference;
|
| final bool disableTypeInferenceFlag;
|
| + final bool dumpInfo;
|
|
|
| /**
|
| * The maximum size of a concrete type before it widens to dynamic during
|
| @@ -549,6 +546,7 @@ abstract class Compiler implements DiagnosticListener {
|
| EnqueueTask enqueuer;
|
| DeferredLoadTask deferredLoadTask;
|
| MirrorUsageAnalyzerTask mirrorUsageAnalyzerTask;
|
| + DumpInfoTask dumpInfoTask;
|
| String buildId;
|
|
|
| static const String MAIN = 'main';
|
| @@ -622,6 +620,7 @@ abstract class Compiler implements DiagnosticListener {
|
| this.sourceMapUri: null,
|
| this.buildId: UNDETERMINED_BUILD_ID,
|
| this.terseDiagnostics: false,
|
| + this.dumpInfo: false,
|
| outputProvider,
|
| List<String> strips: const []})
|
| : this.analyzeOnly = analyzeOnly || analyzeSignaturesOnly,
|
| @@ -659,8 +658,8 @@ abstract class Compiler implements DiagnosticListener {
|
| constantHandler = new ConstantHandler(this, backend.constantSystem),
|
| deferredLoadTask = new DeferredLoadTask(this),
|
| mirrorUsageAnalyzerTask = new MirrorUsageAnalyzerTask(this),
|
| - enqueuer = new EnqueueTask(this)];
|
| -
|
| + enqueuer = new EnqueueTask(this),
|
| + dumpInfoTask = new DumpInfoTask(this)];
|
| tasks.addAll(backend.tasks);
|
| }
|
|
|
| @@ -1129,6 +1128,10 @@ abstract class Compiler implements DiagnosticListener {
|
|
|
| backend.assembleProgram();
|
|
|
| + if (dumpInfo) {
|
| + dumpInfoTask.dumpInfo();
|
| + }
|
| +
|
| checkQueues();
|
|
|
| if (compilationFailed) {
|
| @@ -1188,9 +1191,6 @@ abstract class Compiler implements DiagnosticListener {
|
| world.queueIsClosed = true;
|
| if (compilationFailed) return;
|
| assert(world.checkNoEnqueuedInvokedInstanceMethods());
|
| - if (DUMP_INFERRED_TYPES && phase == PHASE_COMPILING) {
|
| - backend.dumpInferredTypes();
|
| - }
|
| }
|
|
|
| /**
|
|
|