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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/ssa/nodes.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 ssa; 5 part of ssa;
6 6
7 abstract class HVisitor<R> { 7 abstract class HVisitor<R> {
8 R visitAdd(HAdd node); 8 R visitAdd(HAdd node);
9 R visitBailoutTarget(HBailoutTarget node); 9 R visitBailoutTarget(HBailoutTarget node);
10 R visitBitAnd(HBitAnd node); 10 R visitBitAnd(HBitAnd node);
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 bool isReadableArray() => instructionType.isReadableArray(); 885 bool isReadableArray() => instructionType.isReadableArray();
886 bool isMutableArray() => instructionType.isMutableArray(); 886 bool isMutableArray() => instructionType.isMutableArray();
887 bool isExtendableArray() => instructionType.isExtendableArray(); 887 bool isExtendableArray() => instructionType.isExtendableArray();
888 bool isFixedArray() => instructionType.isFixedArray(); 888 bool isFixedArray() => instructionType.isFixedArray();
889 bool isBoolean() => instructionType.isBoolean(); 889 bool isBoolean() => instructionType.isBoolean();
890 bool isInteger() => instructionType.isInteger(); 890 bool isInteger() => instructionType.isInteger();
891 bool isDouble() => instructionType.isDouble(); 891 bool isDouble() => instructionType.isDouble();
892 bool isNumber() => instructionType.isNumber(); 892 bool isNumber() => instructionType.isNumber();
893 bool isNumberOrNull() => instructionType.isNumberOrNull(); 893 bool isNumberOrNull() => instructionType.isNumberOrNull();
894 bool isString() => instructionType.isString(); 894 bool isString() => instructionType.isString();
895 bool isIndexablePrimitive() => instructionType.isIndexablePrimitive();
896 bool isPrimitive() => instructionType.isPrimitive(); 895 bool isPrimitive() => instructionType.isPrimitive();
897 bool canBeNull() => instructionType.canBeNull(); 896 bool canBeNull() => instructionType.canBeNull();
898 bool canBePrimitive(Compiler compiler) => 897 bool canBePrimitive(Compiler compiler) =>
899 instructionType.canBePrimitive(compiler); 898 instructionType.canBePrimitive(compiler);
900 899
900 bool isIndexable(Compiler compiler) =>
901 instructionType.isIndexable(compiler);
902 bool isMutableIndexable(Compiler compiler) =>
903 instructionType.isMutableIndexable(compiler);
904
905 // TODO(kasperl): Get rid of this one.
906 bool isIndexablePrimitive() => instructionType.isIndexablePrimitive();
907
901 /** 908 /**
902 * Type of the unstruction. 909 * Type of the unstruction.
903 */ 910 */
904 HType instructionType = HType.UNKNOWN; 911 HType instructionType = HType.UNKNOWN;
905 912
906 Selector get selector => null; 913 Selector get selector => null;
907 HInstruction getDartReceiver(Compiler compiler) => null; 914 HInstruction getDartReceiver(Compiler compiler) => null;
908 915
909 bool isInBasicBlock() => block != null; 916 bool isInBasicBlock() => block != null;
910 917
(...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after
2673 HBasicBlock get start => expression.start; 2680 HBasicBlock get start => expression.start;
2674 HBasicBlock get end { 2681 HBasicBlock get end {
2675 // We don't create a switch block if there are no cases. 2682 // We don't create a switch block if there are no cases.
2676 assert(!statements.isEmpty); 2683 assert(!statements.isEmpty);
2677 return statements.last.end; 2684 return statements.last.end;
2678 } 2685 }
2679 2686
2680 bool accept(HStatementInformationVisitor visitor) => 2687 bool accept(HStatementInformationVisitor visitor) =>
2681 visitor.visitSwitchInfo(this); 2688 visitor.visitSwitchInfo(this);
2682 } 2689 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698