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

Side by Side Diff: lib/compiler/implementation/ssa/nodes.dart

Issue 10660007: Don't transform interceptors into dynamic invocations for null. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 6 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
« no previous file with comments | « no previous file | lib/compiler/implementation/ssa/optimize.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 interface HVisitor<R> { 5 interface HVisitor<R> {
6 R visitAdd(HAdd node); 6 R visitAdd(HAdd node);
7 R visitBitAnd(HBitAnd node); 7 R visitBitAnd(HBitAnd node);
8 R visitBitNot(HBitNot node); 8 R visitBitNot(HBitNot node);
9 R visitBitOr(HBitOr node); 9 R visitBitOr(HBitOr node);
10 R visitBitXor(HBitXor node); 10 R visitBitXor(HBitXor node);
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 bool isExtendableArray() => propagatedType.isExtendableArray(); 763 bool isExtendableArray() => propagatedType.isExtendableArray();
764 bool isBoolean() => propagatedType.isBoolean(); 764 bool isBoolean() => propagatedType.isBoolean();
765 bool isInteger() => propagatedType.isInteger(); 765 bool isInteger() => propagatedType.isInteger();
766 bool isDouble() => propagatedType.isDouble(); 766 bool isDouble() => propagatedType.isDouble();
767 bool isNumber() => propagatedType.isNumber(); 767 bool isNumber() => propagatedType.isNumber();
768 bool isString() => propagatedType.isString(); 768 bool isString() => propagatedType.isString();
769 bool isTypeUnknown() => propagatedType.isUnknown(); 769 bool isTypeUnknown() => propagatedType.isUnknown();
770 bool isIndexablePrimitive() => propagatedType.isIndexablePrimitive(); 770 bool isIndexablePrimitive() => propagatedType.isIndexablePrimitive();
771 bool isPrimitive() => propagatedType.isPrimitive(); 771 bool isPrimitive() => propagatedType.isPrimitive();
772 bool canBePrimitive() => propagatedType.canBePrimitive(); 772 bool canBePrimitive() => propagatedType.canBePrimitive();
773 bool canBeNull() => propagatedType.canBeNull();
773 774
774 /** 775 /**
775 * This is the type the instruction is guaranteed to have. It does not 776 * This is the type the instruction is guaranteed to have. It does not
776 * take any propagation into account. 777 * take any propagation into account.
777 */ 778 */
778 HType guaranteedType = HType.UNKNOWN; 779 HType guaranteedType = HType.UNKNOWN;
779 bool hasGuaranteedType() => !guaranteedType.isUnknown(); 780 bool hasGuaranteedType() => !guaranteedType.isUnknown();
780 781
781 /** 782 /**
782 * The [propagatedType] is the type the instruction is assumed to have. 783 * The [propagatedType] is the type the instruction is assumed to have.
(...skipping 1835 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 HBasicBlock get start() => expression.start; 2619 HBasicBlock get start() => expression.start;
2619 HBasicBlock get end() { 2620 HBasicBlock get end() {
2620 // We don't create a switch block if there are no cases. 2621 // We don't create a switch block if there are no cases.
2621 assert(!statements.isEmpty()); 2622 assert(!statements.isEmpty());
2622 return statements.last().end; 2623 return statements.last().end;
2623 } 2624 }
2624 2625
2625 bool accept(HStatementInformationVisitor visitor) => 2626 bool accept(HStatementInformationVisitor visitor) =>
2626 visitor.visitSwitchInfo(this); 2627 visitor.visitSwitchInfo(this);
2627 } 2628 }
OLDNEW
« no previous file with comments | « no previous file | lib/compiler/implementation/ssa/optimize.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698