Index: sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart (revision 30754) |
+++ sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart (working copy) |
@@ -76,6 +76,7 @@ |
TypeMask get intType => compiler.typesTask.intType; |
TypeMask get uint32Type => compiler.typesTask.uint32Type; |
TypeMask get uint31Type => compiler.typesTask.uint31Type; |
+ TypeMask get positiveIntType => compiler.typesTask.positiveIntType; |
TypeMask get doubleType => compiler.typesTask.doubleType; |
TypeMask get numType => compiler.typesTask.numType; |
TypeMask get boolType => compiler.typesTask.boolType; |
@@ -684,7 +685,7 @@ |
T indexType; |
if (isIncrementOrDecrement) { |
- rhsType = types.intType; |
+ rhsType = types.uint31Type; |
if (node.isIndex) indexType = visit(node.arguments.head); |
} else if (node.isIndex) { |
indexType = visit(node.arguments.head); |