| 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 6c4cff7bf3a9694068be2c2cad01d6fdc63ed208..e54ca9c8ae69b988249050ce52d438d9488a023b 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
|
| @@ -288,3 +288,53 @@ abstract class Emitter {
|
| /// Returns the size of the code generated for a given output [unit].
|
| int generatedSize(OutputUnit unit);
|
| }
|
| +
|
| +abstract class EmitterBase implements Emitter {
|
| + Namer get namer;
|
| +
|
| + jsAst.PropertyAccess globalPropertyAccessForMember(MemberEntity element) {
|
| + jsAst.Name name = namer.globalPropertyNameForMember(element);
|
| + jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
|
| + new jsAst.VariableUse(namer.globalObjectForMember(element)), name);
|
| + return pa;
|
| + }
|
| +
|
| + jsAst.PropertyAccess globalPropertyAccessForClass(ClassEntity element) {
|
| + jsAst.Name name = namer.globalPropertyNameForClass(element);
|
| + jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
|
| + new jsAst.VariableUse(namer.globalObjectForClass(element)), name);
|
| + return pa;
|
| + }
|
| +
|
| + jsAst.PropertyAccess globalPropertyAccessForType(Entity element) {
|
| + jsAst.Name name = namer.globalPropertyNameForType(element);
|
| + jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
|
| + new jsAst.VariableUse(namer.globalObjectForType(element)), name);
|
| + return pa;
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess staticFieldAccess(FieldEntity element) {
|
| + return globalPropertyAccessForMember(element);
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess staticFunctionAccess(FunctionEntity element) {
|
| + return globalPropertyAccessForMember(element);
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess constructorAccess(ClassEntity element) {
|
| + return globalPropertyAccessForClass(element);
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess interceptorClassAccess(ClassEntity element) {
|
| + return globalPropertyAccessForClass(element);
|
| + }
|
| +
|
| + @override
|
| + jsAst.PropertyAccess typeAccess(Entity element) {
|
| + return globalPropertyAccessForType(element);
|
| + }
|
| +}
|
|
|