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

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

Issue 13940015: Allow using native JS []= on typed data lists. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 typedef void Recompile(Element element); 7 typedef void Recompile(Element element);
8 8
9 class ReturnInfo { 9 class ReturnInfo {
10 HType returnType; 10 HType returnType;
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 ClassElement jsStringClass; 645 ClassElement jsStringClass;
646 ClassElement jsArrayClass; 646 ClassElement jsArrayClass;
647 ClassElement jsNumberClass; 647 ClassElement jsNumberClass;
648 ClassElement jsIntClass; 648 ClassElement jsIntClass;
649 ClassElement jsDoubleClass; 649 ClassElement jsDoubleClass;
650 ClassElement jsFunctionClass; 650 ClassElement jsFunctionClass;
651 ClassElement jsNullClass; 651 ClassElement jsNullClass;
652 ClassElement jsBoolClass; 652 ClassElement jsBoolClass;
653 653
654 ClassElement jsIndexableClass; 654 ClassElement jsIndexableClass;
655 ClassElement jsMutableIndexableClass;
656
655 ClassElement jsMutableArrayClass; 657 ClassElement jsMutableArrayClass;
656 ClassElement jsFixedArrayClass; 658 ClassElement jsFixedArrayClass;
657 ClassElement jsExtendableArrayClass; 659 ClassElement jsExtendableArrayClass;
658 660
659 Element jsIndexableLength; 661 Element jsIndexableLength;
660 Element jsArrayRemoveLast; 662 Element jsArrayRemoveLast;
661 Element jsArrayAdd; 663 Element jsArrayAdd;
662 Element jsStringSplit; 664 Element jsStringSplit;
663 Element jsStringConcat; 665 Element jsStringConcat;
664 Element jsStringToString; 666 Element jsStringToString;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 jsBoolClass = compiler.findInterceptor(const SourceString('JSBool')), 893 jsBoolClass = compiler.findInterceptor(const SourceString('JSBool')),
892 jsMutableArrayClass = 894 jsMutableArrayClass =
893 compiler.findInterceptor(const SourceString('JSMutableArray')), 895 compiler.findInterceptor(const SourceString('JSMutableArray')),
894 jsFixedArrayClass = 896 jsFixedArrayClass =
895 compiler.findInterceptor(const SourceString('JSFixedArray')), 897 compiler.findInterceptor(const SourceString('JSFixedArray')),
896 jsExtendableArrayClass = 898 jsExtendableArrayClass =
897 compiler.findInterceptor(const SourceString('JSExtendableArray'))]; 899 compiler.findInterceptor(const SourceString('JSExtendableArray'))];
898 900
899 jsIndexableClass = 901 jsIndexableClass =
900 compiler.findInterceptor(const SourceString('JSIndexable')); 902 compiler.findInterceptor(const SourceString('JSIndexable'));
903 jsMutableIndexableClass =
904 compiler.findInterceptor(const SourceString('JSMutableIndexable'));
901 905
902 // TODO(kasperl): Some tests do not define the special JSArray 906 // TODO(kasperl): Some tests do not define the special JSArray
903 // subclasses, so we check to see if they are defined before 907 // subclasses, so we check to see if they are defined before
904 // trying to resolve them. 908 // trying to resolve them.
905 if (jsFixedArrayClass != null) { 909 if (jsFixedArrayClass != null) {
906 jsFixedArrayClass.ensureResolved(compiler); 910 jsFixedArrayClass.ensureResolved(compiler);
907 } 911 }
908 if (jsExtendableArrayClass != null) { 912 if (jsExtendableArrayClass != null) {
909 jsExtendableArrayClass.ensureResolved(compiler); 913 jsExtendableArrayClass.ensureResolved(compiler);
910 } 914 }
(...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after
1775 ClassElement get constListImplementation => jsArrayClass; 1779 ClassElement get constListImplementation => jsArrayClass;
1776 ClassElement get fixedListImplementation => jsFixedArrayClass; 1780 ClassElement get fixedListImplementation => jsFixedArrayClass;
1777 ClassElement get growableListImplementation => jsExtendableArrayClass; 1781 ClassElement get growableListImplementation => jsExtendableArrayClass;
1778 ClassElement get mapImplementation => mapLiteralClass; 1782 ClassElement get mapImplementation => mapLiteralClass;
1779 ClassElement get constMapImplementation => constMapLiteralClass; 1783 ClassElement get constMapImplementation => constMapLiteralClass;
1780 ClassElement get functionImplementation => jsFunctionClass; 1784 ClassElement get functionImplementation => jsFunctionClass;
1781 ClassElement get typeImplementation => typeLiteralClass; 1785 ClassElement get typeImplementation => typeLiteralClass;
1782 ClassElement get boolImplementation => jsBoolClass; 1786 ClassElement get boolImplementation => jsBoolClass;
1783 ClassElement get nullImplementation => jsNullClass; 1787 ClassElement get nullImplementation => jsNullClass;
1784 } 1788 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698