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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart

Issue 891673003: dart2js: Refactoring, documentation, and a few bugfixes in Namer class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Typo and TODO about clash in named parameters Created 5 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698