Chromium Code Reviews| Index: dart/sdk/lib/_internal/compiler/implementation/constant_system_dart.dart |
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/constant_system_dart.dart b/dart/sdk/lib/_internal/compiler/implementation/constant_system_dart.dart |
| index a1067c3ff5d7f0c947f1350a11cc6c20617b9dd9..64b60034ab1df1ec01041e56fad70ccc5786cf10 100644 |
| --- a/dart/sdk/lib/_internal/compiler/implementation/constant_system_dart.dart |
| +++ b/dart/sdk/lib/_internal/compiler/implementation/constant_system_dart.dart |
| @@ -8,7 +8,6 @@ const DART_CONSTANT_SYSTEM = const DartConstantSystem(); |
| class BitNotOperation implements UnaryOperation { |
| final String name = '~'; |
| - bool isUserDefinable() => true; |
| const BitNotOperation(); |
| Constant fold(Constant constant) { |
| if (constant.isInt()) { |
| @@ -17,12 +16,10 @@ class BitNotOperation implements UnaryOperation { |
| } |
| return null; |
| } |
| - apply(value) => ~value; |
|
Johnni Winther
2013/12/03 11:52:31
Remove only together with UnaryOperation.apply.
|
| } |
| class NegateOperation implements UnaryOperation { |
| final String name = 'negate'; |
| - bool isUserDefinable() => true; |
| const NegateOperation(); |
| Constant fold(Constant constant) { |
| if (constant.isInt()) { |
| @@ -35,12 +32,10 @@ class NegateOperation implements UnaryOperation { |
| } |
| return null; |
| } |
| - apply(value) => -value; |
|
Johnni Winther
2013/12/03 11:52:31
Remove only together with UnaryOperation.apply.
|
| } |
| class NotOperation implements UnaryOperation { |
| final String name = '!'; |
| - bool isUserDefinable() => true; |
| const NotOperation(); |
| Constant fold(Constant constant) { |
| if (constant.isBool()) { |
| @@ -49,14 +44,12 @@ class NotOperation implements UnaryOperation { |
| } |
| return null; |
| } |
| - apply(value) => !value; |
|
Johnni Winther
2013/12/03 11:52:31
Remove only together with UnaryOperation.apply.
|
| } |
| /** |
| * Operations that only work if both arguments are integers. |
| */ |
| abstract class BinaryBitOperation implements BinaryOperation { |
| - bool isUserDefinable() => true; |
| const BinaryBitOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isInt() && right.isInt()) { |
| @@ -116,7 +109,6 @@ class ShiftRightOperation extends BinaryBitOperation { |
| } |
| abstract class BinaryBoolOperation implements BinaryOperation { |
| - bool isUserDefinable() => false; |
| const BinaryBoolOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isBool() && right.isBool()) { |
| @@ -146,7 +138,6 @@ class BooleanOrOperation extends BinaryBoolOperation { |
| } |
| abstract class ArithmeticNumOperation implements BinaryOperation { |
| - bool isUserDefinable() => true; |
| const ArithmeticNumOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isNum() && right.isNum()) { |
| @@ -228,7 +219,6 @@ class DivideOperation extends ArithmeticNumOperation { |
| class AddOperation implements BinaryOperation { |
| final String name = '+'; |
| - bool isUserDefinable() => true; |
| const AddOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isInt() && right.isInt()) { |
| @@ -249,7 +239,6 @@ class AddOperation implements BinaryOperation { |
| } |
| abstract class RelationalNumOperation implements BinaryOperation { |
| - bool isUserDefinable() => true; |
| const RelationalNumOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isNum() && right.isNum()) { |
| @@ -294,7 +283,6 @@ class GreaterEqualOperation extends RelationalNumOperation { |
| class EqualsOperation implements BinaryOperation { |
| final String name = '=='; |
| - bool isUserDefinable() => true; |
| const EqualsOperation(); |
| Constant fold(Constant left, Constant right) { |
| if (left.isNum() && right.isNum()) { |
| @@ -317,7 +305,6 @@ class EqualsOperation implements BinaryOperation { |
| class IdentityOperation implements BinaryOperation { |
| final String name = '==='; |
| - bool isUserDefinable() => false; |
| const IdentityOperation(); |
| BoolConstant fold(Constant left, Constant right) { |
| // In order to preserve runtime semantics which says that NaN !== NaN don't |