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

Unified Diff: pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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: pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
index 14dea34b877f1f462c89b5a9933a7188c4dac3a7..48ccd6d2fe3425d054fad8490a059d3fc20b56b6 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
@@ -427,54 +427,53 @@ class FragmentEmitter {
return js.js('#.#', [cls.holder.name, cls.name]);
}
- js.Statement emitMainFragment(
- Program program,
+ js.Statement emitMainFragment(Program program,
Map<DeferredFragment, _DeferredFragmentHash> deferredLoadHashes) {
MainFragment fragment = program.fragments.first;
- Iterable<Holder> nonStaticStateHolders = program.holders
- .where((Holder holder) => !holder.isStaticStateHolder);
-
- return js.js.statement(mainBoilerplate,
- {'typeNameProperty': js.string(ModelEmitter.typeNameProperty),
- 'cyclicThrow': backend.emitter.staticFunctionAccess(
- backend.helpers.cyclicThrowHelper),
- 'operatorIsPrefix': js.string(namer.operatorIsPrefix),
- 'tearOffCode': new js.Block(buildTearOffCode(backend)),
- 'embeddedTypes': generateEmbeddedGlobalAccess(TYPES),
- 'embeddedInterceptorTags':
- generateEmbeddedGlobalAccess(INTERCEPTORS_BY_TAG),
- 'embeddedLeafTags': generateEmbeddedGlobalAccess(LEAF_TAGS),
- 'embeddedGlobalsObject': js.js("init"),
- 'holdersList': new js.ArrayInitializer(nonStaticStateHolders
- .map((holder) => js.js("#", holder.name))
- .toList(growable: false)),
- 'staticStateDeclaration': new js.VariableDeclaration(
- namer.staticStateHolder, allowRename: false),
- 'staticState': js.js('#', namer.staticStateHolder),
- 'constantHolderReference': buildConstantHolderReference(program),
- 'holders': emitHolders(program.holders, fragment),
- 'callName': js.string(namer.callNameField),
- 'argumentCount': js.string(namer.requiredParameterField),
- 'defaultArgumentValues': js.string(namer.defaultValuesField),
- 'prototypes': emitPrototypes(fragment),
- 'inheritance': emitInheritance(fragment),
- 'aliases': emitInstanceMethodAliases(fragment),
- 'tearOffs': emitInstallTearOffs(fragment),
- 'constants': emitConstants(fragment),
- 'staticNonFinalFields': emitStaticNonFinalFields(fragment),
- 'lazyStatics': emitLazilyInitializedStatics(fragment),
- 'embeddedGlobals': emitEmbeddedGlobals(program, deferredLoadHashes),
- 'nativeSupport': program.needsNativeSupport
- ? emitNativeSupport(fragment)
- : new js.EmptyStatement(),
- 'invokeMain': fragment.invokeMain,
- });
+ Iterable<Holder> nonStaticStateHolders =
+ program.holders.where((Holder holder) => !holder.isStaticStateHolder);
+
+ return js.js.statement(mainBoilerplate, {
+ 'typeNameProperty': js.string(ModelEmitter.typeNameProperty),
+ 'cyclicThrow': backend.emitter
+ .staticFunctionAccess(backend.helpers.cyclicThrowHelper),
+ 'operatorIsPrefix': js.string(namer.operatorIsPrefix),
+ 'tearOffCode': new js.Block(buildTearOffCode(backend)),
+ 'embeddedTypes': generateEmbeddedGlobalAccess(TYPES),
+ 'embeddedInterceptorTags':
+ generateEmbeddedGlobalAccess(INTERCEPTORS_BY_TAG),
+ 'embeddedLeafTags': generateEmbeddedGlobalAccess(LEAF_TAGS),
+ 'embeddedGlobalsObject': js.js("init"),
+ 'holdersList': new js.ArrayInitializer(nonStaticStateHolders
+ .map((holder) => js.js("#", holder.name))
+ .toList(growable: false)),
+ 'staticStateDeclaration': new js.VariableDeclaration(
+ namer.staticStateHolder,
+ allowRename: false),
+ 'staticState': js.js('#', namer.staticStateHolder),
+ 'constantHolderReference': buildConstantHolderReference(program),
+ 'holders': emitHolders(program.holders, fragment),
+ 'callName': js.string(namer.callNameField),
+ 'argumentCount': js.string(namer.requiredParameterField),
+ 'defaultArgumentValues': js.string(namer.defaultValuesField),
+ 'prototypes': emitPrototypes(fragment),
+ 'inheritance': emitInheritance(fragment),
+ 'aliases': emitInstanceMethodAliases(fragment),
+ 'tearOffs': emitInstallTearOffs(fragment),
+ 'constants': emitConstants(fragment),
+ 'staticNonFinalFields': emitStaticNonFinalFields(fragment),
+ 'lazyStatics': emitLazilyInitializedStatics(fragment),
+ 'embeddedGlobals': emitEmbeddedGlobals(program, deferredLoadHashes),
+ 'nativeSupport': program.needsNativeSupport
+ ? emitNativeSupport(fragment)
+ : new js.EmptyStatement(),
+ 'invokeMain': fragment.invokeMain,
+ });
}
js.Expression emitDeferredFragment(DeferredFragment fragment,
- js.Expression deferredTypes,
- List<Holder> holders) {
+ js.Expression deferredTypes, List<Holder> holders) {
List<Holder> nonStaticStateHolders = holders
.where((Holder holder) => !holder.isStaticStateHolder)
.toList(growable: false);
@@ -484,29 +483,28 @@ class FragmentEmitter {
Holder holder = nonStaticStateHolders[i];
updateHolderAssignments.add(js.js.statement(
'#holder = updateHolder(holdersList[#index], #holder)',
- {'index': js.number(i),
- 'holder': new js.VariableUse(holder.name)}));
+ {'index': js.number(i), 'holder': new js.VariableUse(holder.name)}));
}
// TODO(floitsch): don't just reference 'init'.
- return js.js(deferredBoilerplate,
- {'embeddedGlobalsObject': new js.Parameter('init'),
- 'staticState': new js.Parameter(namer.staticStateHolder),
- 'holders': emitHolders(holders, fragment),
- 'deferredHoldersList': new js.ArrayInitializer(nonStaticStateHolders
- .map((holder) => js.js("#", holder.name))
- .toList(growable: false)),
- 'updateHolders': new js.Block(updateHolderAssignments),
- 'prototypes': emitPrototypes(fragment),
- 'inheritance': emitInheritance(fragment),
- 'aliases': emitInstanceMethodAliases(fragment),
- 'tearOffs': emitInstallTearOffs(fragment),
- 'constants': emitConstants(fragment),
- 'staticNonFinalFields': emitStaticNonFinalFields(fragment),
- 'lazyStatics': emitLazilyInitializedStatics(fragment),
- 'types': deferredTypes,
- // TODO(floitsch): only call emitNativeSupport if we need native.
- 'nativeSupport': emitNativeSupport(fragment),
+ return js.js(deferredBoilerplate, {
+ 'embeddedGlobalsObject': new js.Parameter('init'),
+ 'staticState': new js.Parameter(namer.staticStateHolder),
+ 'holders': emitHolders(holders, fragment),
+ 'deferredHoldersList': new js.ArrayInitializer(nonStaticStateHolders
+ .map((holder) => js.js("#", holder.name))
+ .toList(growable: false)),
+ 'updateHolders': new js.Block(updateHolderAssignments),
+ 'prototypes': emitPrototypes(fragment),
+ 'inheritance': emitInheritance(fragment),
+ 'aliases': emitInstanceMethodAliases(fragment),
+ 'tearOffs': emitInstallTearOffs(fragment),
+ 'constants': emitConstants(fragment),
+ 'staticNonFinalFields': emitStaticNonFinalFields(fragment),
+ 'lazyStatics': emitLazilyInitializedStatics(fragment),
+ 'types': deferredTypes,
+ // TODO(floitsch): only call emitNativeSupport if we need native.
+ 'nativeSupport': emitNativeSupport(fragment),
});
}
@@ -557,22 +555,22 @@ class FragmentEmitter {
// }
List<js.Statement> statements = [
- new js.ExpressionStatement(
- new js.VariableDeclarationList(holders
- .map(emitHolderInitialization)
- .toList())),
- js.js.statement('var holders = #', new js.ArrayInitializer(
- holders
+ new js.ExpressionStatement(new js.VariableDeclarationList(
+ holders.map(emitHolderInitialization).toList())),
+ js.js.statement(
+ 'var holders = #',
+ new js.ArrayInitializer(holders
.map((holder) => new js.VariableUse(holder.name))
- .toList(growable: false)))];
+ .toList(growable: false)))
+ ];
return new js.Block(statements);
}
/// Returns a reference to the constant holder, or the JS-literal `null`.
js.Expression buildConstantHolderReference(Program program) {
- Holder constantHolder = program.holders
- .firstWhere((Holder holder) => holder.isConstantsHolder,
- orElse: () => null);
+ Holder constantHolder = program.holders.firstWhere(
+ (Holder holder) => holder.isConstantsHolder,
+ orElse: () => null);
if (constantHolder == null) return new js.LiteralNull();
return new js.VariableUse(constantHolder.name);
}
@@ -626,8 +624,7 @@ class FragmentEmitter {
List<js.Statement> assignments = fragment.libraries
.expand((Library library) => library.classes)
.map((Class cls) => js.js.statement(
- '#.prototype = #;',
- [classReference(cls), emitPrototype(cls)]))
+ '#.prototype = #;', [classReference(cls), emitPrototype(cls)]))
.toList(growable: false);
return new js.Block(assignments);
@@ -648,17 +645,23 @@ class FragmentEmitter {
Iterable<Method> typeVariableReaderStubs = cls.typeVariableReaderStubs;
Iterable<Method> noSuchMethodStubs = cls.noSuchMethodStubs;
Iterable<Method> gettersSetters = generateGettersSetters(cls);
- Iterable<Method> allMethods =
- [methods, checkedSetters, isChecks, callStubs, typeVariableReaderStubs,
- noSuchMethodStubs, gettersSetters].expand((x) => x);
+ Iterable<Method> allMethods = [
+ methods,
+ checkedSetters,
+ isChecks,
+ callStubs,
+ typeVariableReaderStubs,
+ noSuchMethodStubs,
+ gettersSetters
+ ].expand((x) => x);
List<js.Property> properties = <js.Property>[];
if (cls.superclass == null) {
- properties.add(new js.Property(js.string("constructor"),
- classReference(cls)));
- properties.add(new js.Property(namer.operatorIs(cls.element),
- js.number(1)));
+ properties
+ .add(new js.Property(js.string("constructor"), classReference(cls)));
+ properties
+ .add(new js.Property(namer.operatorIs(cls.element), js.number(1)));
}
allMethods.forEach((Method method) {
@@ -747,7 +750,7 @@ class FragmentEmitter {
properties[js.string(namer.requiredParameterField)] =
js.number(method.requiredParameterCount);
properties[js.string(namer.defaultValuesField)] =
- _encodeOptionalParameterDefaultValues(method);
+ _encodeOptionalParameterDefaultValues(method);
}
}
@@ -774,8 +777,8 @@ class FragmentEmitter {
? new js.LiteralNull()
: classReference(superclass);
- inheritCalls.add(js.js('inherit(#, #)',
- [classReference(cls), superclassReference]));
+ inheritCalls.add(
+ js.js('inherit(#, #)', [classReference(cls), superclassReference]));
emittedClasses.add(cls);
}
@@ -809,11 +812,12 @@ class FragmentEmitter {
for (Class cls in library.classes) {
for (InstanceMethod method in cls.methods) {
if (method.aliasName != null) {
- assignments.add(js.js.statement(
- '#.prototype.# = #.prototype.#',
- [classReference(cls), js.quoteName(method.aliasName),
- classReference(cls), js.quoteName(method.name)]));
-
+ assignments.add(js.js.statement('#.prototype.# = #.prototype.#', [
+ classReference(cls),
+ js.quoteName(method.aliasName),
+ classReference(cls),
+ js.quoteName(method.name)
+ ]));
}
}
}
@@ -842,11 +846,11 @@ class FragmentEmitter {
for (String name in names) {
ConstantValue value = defaultValues[name];
- properties.add(new js.Property(js.string(name),
- generateConstantReference(value)));
+ properties.add(
+ new js.Property(js.string(name), generateConstantReference(value)));
}
- return js.js('function() { return #; }',
- new js.ObjectInitializer(properties));
+ return js.js(
+ 'function() { return #; }', new js.ObjectInitializer(properties));
}
}
@@ -899,7 +903,8 @@ class FragmentEmitter {
_encodeOptionalParameterDefaultValues(method);
}
- return js.js.statement('''
+ return js.js.statement(
+ '''
installTearOff(#container, #getterName, #isStatic, #isIntercepted,
#requiredParameterCount, #optionalParameterDefaultValues,
#callNames, #funsOrNames, #funType)''',
@@ -951,15 +956,15 @@ class FragmentEmitter {
// find the constants that don't have any dependency on other constants
// and create an object-literal with them (and assign it to the
// constant-holder variable).
- assignments.add(js.js.statement('#.# = #',
- [constant.holder.name,
- constant.name,
- constantEmitter.generate(constant.value)]));
+ assignments.add(js.js.statement('#.# = #', [
+ constant.holder.name,
+ constant.name,
+ constantEmitter.generate(constant.value)
+ ]));
}
return new js.Block(assignments);
}
-
/// Emits the static non-final fields section.
///
/// This section initializes all static non-final fields that don't require
@@ -973,8 +978,8 @@ class FragmentEmitter {
// `$.x = $.y = $.z = null;`.
Iterable<js.Statement> statements = fields.map((StaticField field) {
assert(field.holder.isStaticStateHolder);
- return js.js.statement("#.# = #;",
- [field.holder.name, field.name, field.code]);
+ return js.js
+ .statement("#.# = #;", [field.holder.name, field.name, field.code]);
});
return new js.Block(statements.toList());
}
@@ -987,11 +992,12 @@ class FragmentEmitter {
List<StaticField> fields = fragment.staticLazilyInitializedFields;
Iterable<js.Statement> statements = fields.map((StaticField field) {
assert(field.holder.isStaticStateHolder);
- return js.js.statement("lazy(#, #, #, #);",
- [field.holder.name,
- js.quoteName(field.name),
- js.quoteName(namer.deriveLazyInitializerName(field.name)),
- field.code]);
+ return js.js.statement("lazy(#, #, #, #);", [
+ field.holder.name,
+ js.quoteName(field.name),
+ js.quoteName(namer.deriveLazyInitializerName(field.name)),
+ field.code
+ ]);
});
return new js.Block(statements.toList());
@@ -1016,10 +1022,9 @@ class FragmentEmitter {
"${fragment.outputFileName}.${ModelEmitter.deferredExtension}"));
}
js.ArrayInitializer fragmentHashes(List<Fragment> fragments) {
- return new js.ArrayInitializer(
- fragments
- .map((fragment) => deferredLoadHashes[fragment])
- .toList(growable: false));
+ return new js.ArrayInitializer(fragments
+ .map((fragment) => deferredLoadHashes[fragment])
+ .toList(growable: false));
}
List<js.Property> uris = new List<js.Property>(loadMap.length);
@@ -1033,38 +1038,41 @@ class FragmentEmitter {
count++;
});
- globals.add(new js.Property(js.string(DEFERRED_LIBRARY_URIS),
- new js.ObjectInitializer(uris)));
- globals.add(new js.Property(js.string(DEFERRED_LIBRARY_HASHES),
- new js.ObjectInitializer(hashes)));
- globals.add(new js.Property(js.string(DEFERRED_INITIALIZED),
- js.js("Object.create(null)")));
+ globals.add(new js.Property(
+ js.string(DEFERRED_LIBRARY_URIS), new js.ObjectInitializer(uris)));
+ globals.add(new js.Property(
+ js.string(DEFERRED_LIBRARY_HASHES), new js.ObjectInitializer(hashes)));
+ globals.add(new js.Property(
+ js.string(DEFERRED_INITIALIZED), js.js("Object.create(null)")));
String deferredGlobal = ModelEmitter.deferredInitializersGlobal;
js.Expression isHunkLoadedFunction =
js.js("function(hash) { return !!$deferredGlobal[hash]; }");
- globals.add(new js.Property(js.string(IS_HUNK_LOADED),
- isHunkLoadedFunction));
+ globals
+ .add(new js.Property(js.string(IS_HUNK_LOADED), isHunkLoadedFunction));
- js.Expression isHunkInitializedFunction =
- js.js("function(hash) { return !!#deferredInitialized[hash]; }",
- {'deferredInitialized':
- generateEmbeddedGlobalAccess(DEFERRED_INITIALIZED)});
- globals.add(new js.Property(js.string(IS_HUNK_INITIALIZED),
- isHunkInitializedFunction));
+ js.Expression isHunkInitializedFunction = js.js(
+ "function(hash) { return !!#deferredInitialized[hash]; }", {
+ 'deferredInitialized': generateEmbeddedGlobalAccess(DEFERRED_INITIALIZED)
+ });
+ globals.add(new js.Property(
+ js.string(IS_HUNK_INITIALIZED), isHunkInitializedFunction));
/// See [emitEmbeddedGlobalsForDeferredLoading] for the format of the
/// deferred hunk.
- js.Expression initializeLoadedHunkFunction =
- js.js("""
+ js.Expression initializeLoadedHunkFunction = js.js(
+ """
function(hash) {
initializeDeferredHunk($deferredGlobal[hash]);
#deferredInitialized[hash] = true;
- }""", {'deferredInitialized':
- generateEmbeddedGlobalAccess(DEFERRED_INITIALIZED)});
+ }""",
+ {
+ 'deferredInitialized':
+ generateEmbeddedGlobalAccess(DEFERRED_INITIALIZED)
+ });
- globals.add(new js.Property(js.string(INITIALIZE_LOADED_HUNK),
- initializeLoadedHunkFunction));
+ globals.add(new js.Property(
+ js.string(INITIALIZE_LOADED_HUNK), initializeLoadedHunkFunction));
return globals;
}
@@ -1079,18 +1087,23 @@ class FragmentEmitter {
CoreClasses coreClasses = compiler.coreClasses;
// We want to keep the original names for the most common core classes when
// calling toString on them.
- List<ClassElement> nativeClassesNeedingUnmangledName =
- [coreClasses.intClass, coreClasses.doubleClass, coreClasses.numClass,
- coreClasses.stringClass, coreClasses.boolClass, coreClasses.nullClass,
- coreClasses.listClass];
+ List<ClassElement> nativeClassesNeedingUnmangledName = [
+ coreClasses.intClass,
+ coreClasses.doubleClass,
+ coreClasses.numClass,
+ coreClasses.stringClass,
+ coreClasses.boolClass,
+ coreClasses.nullClass,
+ coreClasses.listClass
+ ];
// TODO(floitsch): this should probably be on a per-fragment basis.
nativeClassesNeedingUnmangledName.forEach((element) {
- names.add(new js.Property(js.quoteName(namer.className(element)),
- js.string(element.name)));
+ names.add(new js.Property(
+ js.quoteName(namer.className(element)), js.string(element.name)));
});
- return new js.Property(js.string(MANGLED_GLOBAL_NAMES),
- new js.ObjectInitializer(names));
+ return new js.Property(
+ js.string(MANGLED_GLOBAL_NAMES), new js.ObjectInitializer(names));
}
/// Emits the [GET_TYPE_FROM_NAME] embedded global.
@@ -1122,8 +1135,7 @@ class FragmentEmitter {
}
/// Emits all embedded globals.
- js.Statement emitEmbeddedGlobals(
- Program program,
+ js.Statement emitEmbeddedGlobals(Program program,
Map<DeferredFragment, _DeferredFragmentHash> deferredLoadHashes) {
List<js.Property> globals = <js.Property>[];
@@ -1133,8 +1145,8 @@ class FragmentEmitter {
}
if (program.typeToInterceptorMap != null) {
- globals.add(new js.Property(js.string(TYPE_TO_INTERCEPTOR_MAP),
- program.typeToInterceptorMap));
+ globals.add(new js.Property(
+ js.string(TYPE_TO_INTERCEPTOR_MAP), program.typeToInterceptorMap));
}
if (program.hasIsolateSupport) {
@@ -1143,9 +1155,8 @@ class FragmentEmitter {
// the current static state. Since we don't run multiple isolates in the
// same JavaScript context (except for testing) this shouldn't have any
// impact on real-world programs, though.
- globals.add(
- new js.Property(js.string(CREATE_NEW_ISOLATE),
- js.js('function () { return $staticStateName; }')));
+ globals.add(new js.Property(js.string(CREATE_NEW_ISOLATE),
+ js.js('function () { return $staticStateName; }')));
js.Expression nameToClosureFunction = js.js('''
// First fetch the static function. From there we can execute its
@@ -1155,12 +1166,11 @@ class FragmentEmitter {
var getterFunction = staticFunction.$tearOffPropertyName;
return getterFunction();
}''');
- globals.add(new js.Property(js.string(STATIC_FUNCTION_NAME_TO_CLOSURE),
- nameToClosureFunction));
+ globals.add(new js.Property(
+ js.string(STATIC_FUNCTION_NAME_TO_CLOSURE), nameToClosureFunction));
- globals.add(
- new js.Property(js.string(CLASS_ID_EXTRACTOR),
- js.js('function(o) { return o.constructor.name; }')));
+ globals.add(new js.Property(js.string(CLASS_ID_EXTRACTOR),
+ js.js('function(o) { return o.constructor.name; }')));
js.Expression extractFieldsFunction = js.js('''
function(o) {
@@ -1178,8 +1188,8 @@ class FragmentEmitter {
}
return result;
}''');
- globals.add(new js.Property(js.string(CLASS_FIELDS_EXTRACTOR),
- extractFieldsFunction));
+ globals.add(new js.Property(
+ js.string(CLASS_FIELDS_EXTRACTOR), extractFieldsFunction));
js.Expression createInstanceFromClassIdFunction = js.js('''
function(name) {
@@ -1188,7 +1198,7 @@ class FragmentEmitter {
}
''');
globals.add(new js.Property(js.string(INSTANCE_FROM_CLASS_ID),
- createInstanceFromClassIdFunction));
+ createInstanceFromClassIdFunction));
js.Expression initializeEmptyInstanceFunction = js.js('''
function(name, o, fields) {
@@ -1205,7 +1215,7 @@ class FragmentEmitter {
return o;
}''');
globals.add(new js.Property(js.string(INITIALIZE_EMPTY_INSTANCE),
- initializeEmptyInstanceFunction));
+ initializeEmptyInstanceFunction));
}
globals.add(emitMangledGlobalNames());
@@ -1215,11 +1225,10 @@ class FragmentEmitter {
// therefore unused in this emitter.
List<js.Property> mangledNamesProperties = <js.Property>[];
program.symbolsMap.forEach((js.Name mangledName, String unmangledName) {
- mangledNamesProperties.add(
- new js.Property(mangledName, js.string(unmangledName)));
+ mangledNamesProperties
+ .add(new js.Property(mangledName, js.string(unmangledName)));
});
- globals.add(new js.Property(
- js.string(MANGLED_NAMES),
+ globals.add(new js.Property(js.string(MANGLED_NAMES),
new js.ObjectInitializer(mangledNamesProperties)));
globals.add(emitGetTypeFromName());
@@ -1227,10 +1236,9 @@ class FragmentEmitter {
globals.addAll(emitMetadata(program));
if (program.needsNativeSupport) {
- globals.add(new js.Property(js.string(INTERCEPTORS_BY_TAG),
- new js.LiteralNull()));
- globals.add(new js.Property(js.string(LEAF_TAGS),
- new js.LiteralNull()));
+ globals.add(new js.Property(
+ js.string(INTERCEPTORS_BY_TAG), new js.LiteralNull()));
+ globals.add(new js.Property(js.string(LEAF_TAGS), new js.LiteralNull()));
}
js.ObjectInitializer globalsObject = new js.ObjectInitializer(globals);
@@ -1253,16 +1261,18 @@ class FragmentEmitter {
if (fragment.isMainFragment &&
NativeGenerator.needsIsolateAffinityTagInitialization(backend)) {
statements.add(NativeGenerator.generateIsolateAffinityTagInitialization(
- backend,
- generateEmbeddedGlobalAccess,
- js.js("""
+ backend,
+ generateEmbeddedGlobalAccess,
+ js.js(
+ """
// On V8, the 'intern' function converts a string to a symbol, which
// makes property access much faster.
function (s) {
var o = {};
o[s] = 1;
return Object.keys(convertToFastObject(o))[0];
- }""", [])));
+ }""",
+ [])));
}
Map<String, js.Expression> interceptorsByTag = <String, js.Expression>{};
@@ -1286,10 +1296,11 @@ class FragmentEmitter {
List<Class> subclasses = cls.nativeExtensions;
js.Expression value = js.string(cls.nativeNonLeafTags[0]);
for (Class subclass in subclasses) {
- value = js.js('#.# = #',
- [classReference(subclass),
- NATIVE_SUPERCLASS_TAG_NAME,
- js.string(cls.nativeNonLeafTags[0])]);
+ value = js.js('#.# = #', [
+ classReference(subclass),
+ NATIVE_SUPERCLASS_TAG_NAME,
+ js.string(cls.nativeNonLeafTags[0])
+ ]);
}
subclassAssignment = new js.ExpressionStatement(value);
}
@@ -1298,8 +1309,8 @@ class FragmentEmitter {
}
statements.add(js.js.statement("setOrUpdateInterceptorsByTag(#);",
js.objectLiteral(interceptorsByTag)));
- statements.add(js.js.statement("setOrUpdateLeafTags(#);",
- js.objectLiteral(leafTags)));
+ statements.add(
+ js.js.statement("setOrUpdateLeafTags(#);", js.objectLiteral(leafTags)));
statements.add(subclassAssignment);
return new js.Block(statements);

Powered by Google App Engine
This is Rietveld 408576698