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

Unified Diff: pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart

Issue 851793002: dart2js: Rename Fragment to LibrariesMap and Output to Fragment. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix long line. Created 5 years, 11 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
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/model.dart ('k') | pkg/compiler/lib/src/js_emitter/program_builder.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart
diff --git a/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart b/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart
index 668a0e3d53cd246a5d3817ae8bb29609e2f2b55d..1be615cc3b775e18d9477cb7b377b6dafeddc5e0 100644
--- a/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart
@@ -46,18 +46,19 @@ class ModelEmitter {
}
int emitProgram(Program program) {
- List<Output> outputs = program.outputs;
- MainOutput mainUnit = outputs.first;
- js.Statement mainAst = emitMainUnit(program);
+ List<Fragment> fragments = program.fragments;
+ MainFragment mainFragment = fragments.first;
+ js.Statement mainAst = emitMainFragment(program);
String mainCode = js.prettyPrint(mainAst, compiler).getText();
- compiler.outputProvider(mainUnit.outputFileName, 'js')
+ compiler.outputProvider(mainFragment.outputFileName, 'js')
..add(buildGeneratedBy(compiler))
..add(mainCode)
..close();
int totalSize = mainCode.length;
- outputs.skip(1).forEach((DeferredOutput deferredUnit) {
- js.Expression ast = emitDeferredUnit(deferredUnit, mainUnit.holders);
+ fragments.skip(1).forEach((DeferredFragment deferredUnit) {
+ js.Expression ast =
+ emitDeferredFragment(deferredUnit, mainFragment.holders);
String code = js.prettyPrint(ast, compiler).getText();
totalSize += code.length;
compiler.outputProvider(deferredUnit.outputFileName, deferredExtension)
@@ -79,11 +80,11 @@ class ModelEmitter {
return '// Generated by dart2js, the Dart to JavaScript compiler$suffix.\n';
}
- js.Statement emitMainUnit(Program program) {
- MainOutput unit = program.outputs.first;
- List<js.Expression> elements = unit.libraries.map(emitLibrary).toList();
+ js.Statement emitMainFragment(Program program) {
+ MainFragment fragment = program.fragments.first;
+ List<js.Expression> elements = fragment.libraries.map(emitLibrary).toList();
elements.add(
- emitLazilyInitializedStatics(unit.staticLazilyInitializedFields));
+ emitLazilyInitializedStatics(fragment.staticLazilyInitializedFields));
js.Statement nativeBoilerplate;
if (NativeGenerator.needsIsolateAffinityTagInitialization(backend)) {
@@ -102,16 +103,16 @@ class ModelEmitter {
return js.js.statement(
boilerplate,
{'deferredInitializer': emitDeferredInitializerGlobal(program.loadMap),
- 'holders': emitHolders(unit.holders),
+ 'holders': emitHolders(fragment.holders),
'cyclicThrow':
backend.emitter.staticFunctionAccess(backend.getCyclicThrowHelper()),
'outputContainsConstantList': program.outputContainsConstantList,
'embeddedGlobals': emitEmbeddedGlobals(program.loadMap),
- 'constants': emitConstants(unit.constants),
- 'staticNonFinals': emitStaticNonFinalFields(unit.staticNonFinalFields),
+ 'constants': emitConstants(fragment.constants),
+ 'staticNonFinals': emitStaticNonFinalFields(fragment.staticNonFinalFields),
'nativeBoilerplate': nativeBoilerplate,
- 'eagerClasses': emitEagerClassInitializations(unit.libraries),
- 'main': unit.main,
+ 'eagerClasses': emitEagerClassInitializations(fragment.libraries),
+ 'main': fragment.main,
'code': code});
}
@@ -145,7 +146,7 @@ class ModelEmitter {
return js.js.uncachedExpressionTemplate('makeConstList(#)');
}
- js.Block emitEmbeddedGlobals(Map<String, List<Output>> loadMap) {
+ js.Block emitEmbeddedGlobals(Map<String, List<Fragment>> loadMap) {
List<js.Property> globals = <js.Property>[];
if (loadMap.isNotEmpty) {
@@ -165,24 +166,25 @@ class ModelEmitter {
return new js.Block(statements);
}
- List<js.Property> emitLoadUrisAndHashes(Map<String, List<Output>> loadMap) {
- js.ArrayInitializer outputUris(List<Output> outputs) {
- return js.stringArray(outputs.map((DeferredOutput output) =>
- "${output.outputFileName}$deferredExtension"));
+ List<js.Property> emitLoadUrisAndHashes(Map<String, List<Fragment>> loadMap) {
+ js.ArrayInitializer outputUris(List<Fragment> fragments) {
+ return js.stringArray(fragments.map((DeferredFragment fragment) =>
+ "${fragment.outputFileName}$deferredExtension"));
}
- js.ArrayInitializer outputHashes(List<Output> outputs) {
+ js.ArrayInitializer outputHashes(List<Fragment> fragments) {
// TODO(floitsch): the hash must depend on the generated code.
return js.numArray(
- outputs.map((DeferredOutput output) => output.hashCode));
+ fragments.map((DeferredFragment fragment) => fragment.hashCode));
}
List<js.Property> uris = new List<js.Property>(loadMap.length);
List<js.Property> hashes = new List<js.Property>(loadMap.length);
int count = 0;
- loadMap.forEach((String loadId, List<Output> outputList) {
- uris[count] = new js.Property(js.string(loadId), outputUris(outputList));
+ loadMap.forEach((String loadId, List<Fragment> fragmentList) {
+ uris[count] =
+ new js.Property(js.string(loadId), outputUris(fragmentList));
hashes[count] =
- new js.Property(js.string(loadId), outputHashes(outputList));
+ new js.Property(js.string(loadId), outputHashes(fragmentList));
count++;
});
@@ -214,16 +216,17 @@ class ModelEmitter {
return new js.Property(js.string(INITIALIZE_LOADED_HUNK), function);
}
- js.Expression emitDeferredUnit(DeferredOutput unit, List<Holder> holders) {
+ js.Expression emitDeferredFragment(DeferredFragment fragment,
+ List<Holder> holders) {
// TODO(floitsch): initialize eager classes.
// TODO(floitsch): the hash must depend on the output.
int hash = this.hashCode;
- if (unit.constants.isNotEmpty) {
+ if (fragment.constants.isNotEmpty) {
throw new UnimplementedError("constants in deferred units");
}
js.ArrayInitializer content =
- new js.ArrayInitializer(unit.libraries.map(emitLibrary)
- .toList(growable: false));
+ new js.ArrayInitializer(fragment.libraries.map(emitLibrary)
+ .toList(growable: false));
return js.js("$deferredInitializersGlobal[$hash] = #", content);
}
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/model.dart ('k') | pkg/compiler/lib/src/js_emitter/program_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698