| Index: pkg/compiler/lib/src/constant_system_dart.dart
|
| diff --git a/pkg/compiler/lib/src/constant_system_dart.dart b/pkg/compiler/lib/src/constant_system_dart.dart
|
| index e1d468df5e05de6363e5362ab8b0d18fbb56f547..6ba81d18b5e42f94559411c9d969a473d1303987 100644
|
| --- a/pkg/compiler/lib/src/constant_system_dart.dart
|
| +++ b/pkg/compiler/lib/src/constant_system_dart.dart
|
| @@ -203,6 +203,14 @@ class ModuloOperation extends ArithmeticNumOperation {
|
| apply(left, right) => left % right;
|
| }
|
|
|
| +class RemainderOperation extends ArithmeticNumOperation {
|
| + final String name = 'remainder';
|
| + const RemainderOperation();
|
| + // Not a defined constant operation.
|
| + num foldNums(num left, num right) => null;
|
| + apply(left, right) => left.remainder(right);
|
| +}
|
| +
|
| class TruncatingDivideOperation extends ArithmeticNumOperation {
|
| final String name = '~/';
|
| const TruncatingDivideOperation();
|
| @@ -406,6 +414,7 @@ class DartConstantSystem extends ConstantSystem {
|
| final multiply = const MultiplyOperation();
|
| final negate = const NegateOperation();
|
| final not = const NotOperation();
|
| + final remainder = const RemainderOperation();
|
| final shiftLeft = const ShiftLeftOperation();
|
| final shiftRight = const ShiftRightOperation();
|
| final subtract = const SubtractOperation();
|
|
|