Index: pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
diff --git a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
index 2596b91bbbb2ed91f420f4a1ac4bb92df7c684f0..4ca64fa9146fd54468609f8a13c39731494bf41a 100644 |
--- a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
+++ b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
@@ -150,7 +150,7 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass { |
// Replace the dummy with the exception parameter. It must be set after |
// replacing all uses of [_exceptionParameter]. |
- unwrapped.arguments[0].changeTo(_exceptionParameter); |
+ unwrapped.argumentRefs[0].changeTo(_exceptionParameter); |
if (stackTraceParameter.hasAtLeastOneUse) { |
InvokeStatic stackTraceValue = insertStaticCallAbove( |
@@ -174,9 +174,9 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass { |
// The subexpression of throw is wrapped in the JavaScript output. |
Primitive wrappedException = insertStaticCallAbove( |
_glue.getWrapExceptionHelper(), |
- [node.value.definition], |
+ [node.value], |
node); |
- node.value.changeTo(wrappedException); |
+ node.valueRef.changeTo(wrappedException); |
} |
processRethrow(Rethrow node) { |
@@ -201,16 +201,16 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass { |
// Some platform libraries will compare non-interceptable objects against |
// null using the Dart == operator. These must be translated directly. |
if (node.selector == Selectors.equals && |
- node.arguments.length == 1 && |
- isNullConstant(node.arguments[0].definition)) { |
+ node.argumentRefs.length == 1 && |
+ isNullConstant(node.argument(0))) { |
node.replaceWith(new ApplyBuiltinOperator( |
BuiltinOperator.Identical, |
- [node.receiver.definition, node.arguments[0].definition], |
+ [node.receiver, node.argument(0)], |
node.sourceInformation)); |
return; |
} |
- Primitive receiver = node.receiver.definition; |
+ Primitive receiver = node.receiver; |
Primitive newReceiver; |
if (receiver == explicitReceiverParameter) { |
@@ -225,15 +225,15 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass { |
} |
new LetPrim(newReceiver).insertAbove(node.parent); |
} |
- node.arguments.insert(0, node.receiver); |
- node.receiver = new Reference<Primitive>(newReceiver)..parent = node; |
+ node.argumentRefs.insert(0, node.receiverRef); |
+ node.receiverRef = new Reference<Primitive>(newReceiver)..parent = node; |
node.callingConvention = CallingConvention.Intercepted; |
} |
processInvokeMethodDirectly(InvokeMethodDirectly node) { |
if (!_glue.isInterceptedMethod(node.target)) return; |
- Primitive receiver = node.receiver.definition; |
+ Primitive receiver = node.receiver; |
Primitive newReceiver; |
if (receiver == explicitReceiverParameter) { |
@@ -248,8 +248,8 @@ class UnsugarVisitor extends TrampolineRecursiveVisitor implements Pass { |
} |
new LetPrim(newReceiver).insertAbove(node.parent); |
} |
- node.arguments.insert(0, node.receiver); |
- node.receiver = new Reference<Primitive>(newReceiver)..parent = node; |
+ node.argumentRefs.insert(0, node.receiverRef); |
+ node.receiverRef = new Reference<Primitive>(newReceiver)..parent = node; |
node.callingConvention = CallingConvention.Intercepted; |
} |
} |