| Index: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| index 40a747308c37b9f4be70cc4cc5ec6662b73d3d74..0ee0dbaa89160abf8919c3358c150b896040fb00 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| @@ -137,6 +137,7 @@ class OldEmitter implements Emitter {
|
| buffer.write(jsAst.prettyPrint(js.comment(comment), compiler));
|
| }
|
|
|
| + @override
|
| jsAst.Expression constantReference(ConstantValue value) {
|
| return constantEmitter.reference(value);
|
| }
|
| @@ -178,6 +179,7 @@ class OldEmitter implements Emitter {
|
| /// All the global state can be passed around with this variable.
|
| String get globalsHolder => namer.getMappedGlobalName("globalsHolder");
|
|
|
| + @override
|
| jsAst.Expression generateEmbeddedGlobalAccess(String global) {
|
| return js(generateEmbeddedGlobalAccessString(global));
|
| }
|
| @@ -187,38 +189,55 @@ class OldEmitter implements Emitter {
|
| return '$initName.$global';
|
| }
|
|
|
| - jsAst.Expression isolateLazyInitializerAccess(Element element) {
|
| + jsAst.PropertyAccess globalPropertyAccess(Element element) {
|
| + String name = namer.getNameX(element);
|
| + jsAst.PropertyAccess pa = new jsAst.PropertyAccess.field(
|
| + new jsAst.VariableUse(namer.globalObjectFor(element)),
|
| + name);
|
| + return pa;
|
| + }
|
| +
|
| + @override
|
| + jsAst.Expression isolateLazyInitializerAccess(FieldElement element) {
|
| return jsAst.js('#.#', [namer.globalObjectFor(element),
|
| namer.getLazyInitializerName(element)]);
|
| }
|
|
|
| - jsAst.Expression isolateStaticClosureAccess(Element element) {
|
| + @override
|
| + jsAst.Expression isolateStaticClosureAccess(FunctionElement element) {
|
| return jsAst.js('#.#()',
|
| [namer.globalObjectFor(element), namer.getStaticClosureName(element)]);
|
| }
|
|
|
| - jsAst.PropertyAccess globalPropertyAccess(Element element) {
|
| - String name = namer.getNameX(element);
|
| - jsAst.PropertyAccess pa = new jsAst.PropertyAccess.field(
|
| - new jsAst.VariableUse(namer.globalObjectFor(element)),
|
| - name);
|
| - return pa;
|
| + @override
|
| + jsAst.PropertyAccess staticFieldAccess(FieldElement element) {
|
| + return globalPropertyAccess(element);
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess staticFunctionAccess(FunctionElement element) {
|
| + return globalPropertyAccess(element);
|
| }
|
|
|
| - jsAst.PropertyAccess staticFieldAccess(Element element) {
|
| - return globalPropertyAccess(element);
|
| + @override
|
| + jsAst.PropertyAccess constructorAccess(ClassElement element) {
|
| + return globalPropertyAccess(element);
|
| }
|
|
|
| - jsAst.PropertyAccess staticFunctionAccess(Element element) {
|
| - return globalPropertyAccess(element);
|
| + @override
|
| + jsAst.PropertyAccess prototypeAccess(ClassElement element,
|
| + bool hasBeenInstantiated) {
|
| + return jsAst.js('#.prototype', constructorAccess(element));
|
| }
|
|
|
| - jsAst.PropertyAccess classAccess(Element element) {
|
| - return globalPropertyAccess(element);
|
| + @override
|
| + jsAst.PropertyAccess interceptorClassAccess(ClassElement element) {
|
| + return globalPropertyAccess(element);
|
| }
|
|
|
| - jsAst.PropertyAccess typedefAccess(Element element) {
|
| - return globalPropertyAccess(element);
|
| + @override
|
| + jsAst.PropertyAccess typeAccess(Element element) {
|
| + return globalPropertyAccess(element);
|
| }
|
|
|
| jsAst.FunctionDeclaration get generateAccessorFunction {
|
|
|