Index: pkg/compiler/lib/src/cps_ir/type_propagation.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/type_propagation.dart b/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
index e777b41825af3c1b07c4a6d55470967a986b3387..2a485c3a50dcce2a14634ac6b303c8a63ed3d549 100644 |
--- a/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
+++ b/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
@@ -4,6 +4,8 @@ |
import 'optimizers.dart'; |
+import '../common/names.dart' show |
+ Selectors; |
import '../compiler.dart' as dart2js show |
Compiler; |
import '../constants/constant_system.dart'; |
@@ -1102,7 +1104,7 @@ class TransformingVisitor extends LeafVisitor { |
} |
/// Tries to replace [node] with a direct `length` or index access. |
- /// |
+ /// |
/// Returns `true` if the node was replaced. |
bool specializeIndexableAccess(InvokeMethod node) { |
Primitive receiver = getDartReceiver(node); |
@@ -1214,7 +1216,7 @@ class TransformingVisitor extends LeafVisitor { |
return true; |
case 'elementAt': |
- if (!node.selector.isCall || |
+ if (!node.selector.isCall || |
node.selector.positionalArgumentCount != 1 || |
node.selector.namedArgumentCount != 0) { |
return false; |
@@ -1272,16 +1274,14 @@ class TransformingVisitor extends LeafVisitor { |
Continuation iteratorCont = cont; |
// Check that all uses of the iterator are 'moveNext' and 'current'. |
- Selector moveNextSelector = new Selector.call('moveNext', null, 0); |
- Selector currentSelector = new Selector.getter('current', null); |
- assert(!isInterceptedSelector(moveNextSelector)); |
- assert(!isInterceptedSelector(currentSelector)); |
+ assert(!isInterceptedSelector(Selectors.moveNext)); |
+ assert(!isInterceptedSelector(Selectors.current)); |
for (Reference ref = iterator.firstRef; ref != null; ref = ref.next) { |
if (ref.parent is! InvokeMethod) return false; |
InvokeMethod use = ref.parent; |
if (ref != use.receiver) return false; |
- if (use.selector != moveNextSelector && |
- use.selector != currentSelector) { |
+ if (use.selector != Selectors.moveNext && |
+ use.selector != Selectors.current) { |
return false; |
} |
} |
@@ -1296,7 +1296,7 @@ class TransformingVisitor extends LeafVisitor { |
while (iterator.firstRef != null) { |
InvokeMethod use = iterator.firstRef.parent; |
Continuation useCont = use.continuation.definition; |
- if (use.selector == currentSelector) { |
+ if (use.selector == Selectors.current) { |
// Rewrite iterator.current to a use of the 'current' variable. |
Parameter result = useCont.parameters.single; |
if (result.hint != null) { |
@@ -1307,7 +1307,7 @@ class TransformingVisitor extends LeafVisitor { |
LetPrim let = makeLetPrimInvoke(new GetMutable(current), useCont); |
replaceSubtree(use, let); |
} else { |
- assert (use.selector == moveNextSelector); |
+ assert (use.selector == Selectors.moveNext); |
// Rewrite iterator.moveNext() to: |
// |
// if (index < list.length) { |