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

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

Issue 50313007: Implement dynamic function checks. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Merged with r30787 Created 7 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 implements ClosureNamer { 10 class Namer implements ClosureNamer {
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 } 467 }
468 468
469 /** 469 /**
470 * Returns name of accessor (root to getter and setter) for an instance field. 470 * Returns name of accessor (root to getter and setter) for an instance field.
471 */ 471 */
472 String instanceFieldAccessorName(Element element) { 472 String instanceFieldAccessorName(Element element) {
473 String proposedName = privateName(element.getLibrary(), element.name); 473 String proposedName = privateName(element.getLibrary(), element.name);
474 return getMappedInstanceName(proposedName); 474 return getMappedInstanceName(proposedName);
475 } 475 }
476 476
477 String readTypeVariableName(TypeVariableElement element) {
478 return '\$tv_${instanceFieldAccessorName(element)}';
479 }
480
477 /** 481 /**
478 * Returns name of the JavaScript property used to store an instance field. 482 * Returns name of the JavaScript property used to store an instance field.
479 */ 483 */
480 String instanceFieldPropertyName(Element element) { 484 String instanceFieldPropertyName(Element element) {
481 if (element.hasFixedBackendName()) { 485 if (element.hasFixedBackendName()) {
482 return element.fixedBackendName(); 486 return element.fixedBackendName();
483 } 487 }
484 // If a class is used anywhere as a mixin, we must make the name unique so 488 // If a class is used anywhere as a mixin, we must make the name unique so
485 // that it does not accidentally shadow. Also, the mixin name must be 489 // that it does not accidentally shadow. Also, the mixin name must be
486 // constant over all mixins. 490 // constant over all mixins.
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 if (!first) { 1392 if (!first) {
1389 sb.write('_'); 1393 sb.write('_');
1390 } 1394 }
1391 sb.write('_'); 1395 sb.write('_');
1392 visit(link.head); 1396 visit(link.head);
1393 first = true; 1397 first = true;
1394 } 1398 }
1395 } 1399 }
1396 } 1400 }
1397 } 1401 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698