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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/js_backend/namer.dart

Issue 11308175: Emit constants using ASTs (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years 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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 part of js_backend; 5 part of js_backend;
6 6
7 /** 7 /**
8 * Assigns JavaScript identifiers to Dart variables, class-names and members. 8 * Assigns JavaScript identifiers to Dart variables, class-names and members.
9 */ 9 */
10 class Namer { 10 class Namer {
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 401
402 String getLazyInitializerName(Element element) { 402 String getLazyInitializerName(Element element) {
403 assert(Elements.isStaticOrTopLevelField(element)); 403 assert(Elements.isStaticOrTopLevelField(element));
404 return getMappedGlobalName("get\$${getName(element)}"); 404 return getMappedGlobalName("get\$${getName(element)}");
405 } 405 }
406 406
407 String isolatePropertiesAccess(Element element) { 407 String isolatePropertiesAccess(Element element) {
408 return "$ISOLATE.$ISOLATE_PROPERTIES.${getName(element)}"; 408 return "$ISOLATE.$ISOLATE_PROPERTIES.${getName(element)}";
409 } 409 }
410 410
411 String isolatePropertiesAccessForConstant(String constantName) { 411 js.Expression isolatePropertiesAccessForConstant(String constantName) {
ngeoffray 2012/11/27 09:26:28 I'd prefer not having this method here. The namer
sra1 2012/11/28 03:59:44 I might agree, but that leaves the question of whe
ngeoffray 2012/11/28 09:25:21 So maybe the isolateAccess, isolateBailoutAccess..
floitsch 2012/11/28 10:04:32 I agree. And it should probably be the emitter any
412 return "$ISOLATE.$ISOLATE_PROPERTIES.$constantName"; 412 // $ISOLATE.$ISOLATE_PROPERTIES.$constantName
413 return new js.PropertyAccess.field(
414 new js.PropertyAccess.field(
415 new js.VariableUse(ISOLATE), ISOLATE_PROPERTIES),
416 constantName);
413 } 417 }
414 418
415 String isolateAccess(Element element) { 419 String isolateAccess(Element element) {
416 return "$CURRENT_ISOLATE.${getName(element)}"; 420 return "$CURRENT_ISOLATE.${getName(element)}";
417 } 421 }
418 422
419 String isolateBailoutAccess(Element element) { 423 String isolateBailoutAccess(Element element) {
420 String newName = getMappedGlobalName('${getName(element)}\$bailout'); 424 String newName = getMappedGlobalName('${getName(element)}\$bailout');
421 return '$CURRENT_ISOLATE.$newName'; 425 return '$CURRENT_ISOLATE.$newName';
422 } 426 }
423 427
424 String isolateLazyInitializerAccess(Element element) { 428 String isolateLazyInitializerAccess(Element element) {
425 return "$CURRENT_ISOLATE.${getLazyInitializerName(element)}"; 429 return "$CURRENT_ISOLATE.${getLazyInitializerName(element)}";
426 } 430 }
427 431
428 String operatorIs(Element element) { 432 String operatorIs(Element element) {
429 // TODO(erikcorry): Reduce from is$x to ix when we are minifying. 433 // TODO(erikcorry): Reduce from is$x to ix when we are minifying.
430 return 'is\$${getName(element)}'; 434 return 'is\$${getName(element)}';
431 } 435 }
432 436
433 String safeName(String name) { 437 String safeName(String name) {
434 if (jsReserved.contains(name) || name.startsWith('\$')) { 438 if (jsReserved.contains(name) || name.startsWith('\$')) {
435 name = "\$$name"; 439 name = "\$$name";
436 assert(!jsReserved.contains(name)); 440 assert(!jsReserved.contains(name));
437 } 441 }
438 return name; 442 return name;
439 } 443 }
440 } 444 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698