Index: pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
index 6dcc012b766cf245b6efde8babe220ab256d4df1..8c2cbda545e0ac64afa65b2bd8fcd06059a8af30 100644 |
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart |
@@ -59,11 +59,11 @@ class CodeEmitterTask extends CompilerTask { |
jsAst.Expression isolateStaticClosureAccess(Element element) { |
return emitter.isolateStaticClosureAccess(element); |
} |
- |
+ |
jsAst.Expression isolateLazyInitializerAccess(Element element) { |
return emitter.isolateLazyInitializerAccess(element); |
} |
- |
+ |
jsAst.Expression generateEmbeddedGlobalAccess(String global) { |
return emitter.generateEmbeddedGlobalAccess(global); |
} |
@@ -75,15 +75,15 @@ class CodeEmitterTask extends CompilerTask { |
jsAst.Expression staticFieldAccess(Element e) { |
return emitter.staticFunctionAccess(e); |
} |
- |
+ |
jsAst.Expression staticFunctionAccess(Element e) { |
return emitter.staticFunctionAccess(e); |
} |
- |
+ |
jsAst.Expression classAccess(Element e) { |
return emitter.classAccess(e); |
} |
- |
+ |
jsAst.Expression typedefAccess(Element e) { |
return emitter.typedefAccess(e); |
} |
@@ -360,8 +360,8 @@ class CodeEmitterTask extends CompilerTask { |
computeNeededLibraries(); |
} |
- void assembleProgram() { |
- measure(() { |
+ int assembleProgram() { |
+ return measure(() { |
emitter.invalidateCaches(); |
computeAllNeededEntities(); |
@@ -370,27 +370,28 @@ class CodeEmitterTask extends CompilerTask { |
if (USE_NEW_EMITTER) { |
program = new ProgramBuilder(compiler, namer, this).buildProgram(); |
} |
- emitter.emitProgram(program); |
+ return emitter.emitProgram(program); |
}); |
} |
} |
abstract class Emitter { |
- void emitProgram(Program program); |
+ /// Emits [program] and returns the size of the generated output. |
+ int emitProgram(Program program); |
jsAst.Expression isolateLazyInitializerAccess(Element element); |
jsAst.Expression isolateStaticClosureAccess(Element element); |
jsAst.Expression generateEmbeddedGlobalAccess(String global); |
jsAst.Expression constantReference(ConstantValue value); |
jsAst.PropertyAccess staticFunctionAccess(Element element); |
- |
+ |
// TODO(zarah): Split into more fine-grained accesses. |
- /// Generates access to the js constructor of the class represented by |
+ /// Generates access to the js constructor of the class represented by |
/// [element] |
jsAst.PropertyAccess classAccess(Element element); |
jsAst.PropertyAccess typedefAccess(Element element); |
jsAst.PropertyAccess staticFieldAccess(Element element); |
- |
+ |
int compareConstants(ConstantValue a, ConstantValue b); |
bool isConstantInlinedOrAlreadyEmitted(ConstantValue constant); |