OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dart2js.new_js_emitter.emitter; | 5 library dart2js.new_js_emitter.emitter; |
6 | 6 |
7 import '../program_builder.dart' show ProgramBuilder; | 7 import '../program_builder.dart' show ProgramBuilder; |
8 import '../model.dart'; | 8 import '../model.dart'; |
9 import 'model_emitter.dart'; | 9 import 'model_emitter.dart'; |
10 import '../../common.dart'; | 10 import '../../common.dart'; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 js.Expression generateFunctionThatReturnsNull() { | 78 js.Expression generateFunctionThatReturnsNull() { |
79 return js.js('function() {}'); | 79 return js.js('function() {}'); |
80 } | 80 } |
81 | 81 |
82 @override | 82 @override |
83 js.Expression constantReference(ConstantValue value) { | 83 js.Expression constantReference(ConstantValue value) { |
84 return _emitter.constantEmitter.reference(value); | 84 return _emitter.constantEmitter.reference(value); |
85 } | 85 } |
86 | 86 |
87 js.PropertyAccess _globalPropertyAccess(Element element) { | 87 js.PropertyAccess _globalPropertyAccess(Element element) { |
88 String name = namer.getNameX(element); | 88 String name = namer.globalPropertyName(element); |
89 js.PropertyAccess pa = new js.PropertyAccess.field( | 89 js.PropertyAccess pa = new js.PropertyAccess.field( |
90 new js.VariableUse(namer.globalObjectFor(element)), | 90 new js.VariableUse(namer.globalObjectFor(element)), |
91 name); | 91 name); |
92 return pa; | 92 return pa; |
93 } | 93 } |
94 | 94 |
95 @override | 95 @override |
96 js.Expression isolateLazyInitializerAccess(FieldElement element) { | 96 js.Expression isolateLazyInitializerAccess(FieldElement element) { |
97 return js.js('#.#', [namer.globalObjectFor(element), | 97 return js.js('#.#', [namer.globalObjectFor(element), |
98 namer.getLazyInitializerName(element)]); | 98 namer.getLazyInitializerName(element)]); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 @override | 137 @override |
138 js.Expression typeAccess(Element element) { | 138 js.Expression typeAccess(Element element) { |
139 // TODO(floitsch): minify 'ensureResolved'. | 139 // TODO(floitsch): minify 'ensureResolved'. |
140 // TODO(floitsch): don't emit `ensureResolved` for eager classes. | 140 // TODO(floitsch): don't emit `ensureResolved` for eager classes. |
141 return js.js('#.ensureResolved()', _globalPropertyAccess(element)); | 141 return js.js('#.ensureResolved()', _globalPropertyAccess(element)); |
142 } | 142 } |
143 | 143 |
144 @override | 144 @override |
145 void invalidateCaches() {} | 145 void invalidateCaches() {} |
146 } | 146 } |
OLD | NEW |