Index: pkg/compiler/lib/src/kernel/kernel_visitor.dart |
diff --git a/pkg/compiler/lib/src/kernel/kernel_visitor.dart b/pkg/compiler/lib/src/kernel/kernel_visitor.dart |
index d4d621637b0bb8f96f5c272fc51b2d54c4228b9b..2372496267ed4ec32adea2993593b668a54fa749 100644 |
--- a/pkg/compiler/lib/src/kernel/kernel_visitor.dart |
+++ b/pkg/compiler/lib/src/kernel/kernel_visitor.dart |
@@ -710,8 +710,7 @@ class KernelVisitor extends Object |
return new ir.ConditionalExpression( |
visitForValue(node.condition), |
visitWithCurrentContext(node.thenExpression), |
- visitWithCurrentContext(node.elseExpression), |
- null); |
+ visitWithCurrentContext(node.elseExpression)); |
} |
@override |
@@ -1313,7 +1312,7 @@ class KernelVisitor extends Object |
Accessor accessor = (receiver == null) |
? new ThisPropertyAccessor(irName, null, null) |
: PropertyAccessor.make(visitForValue(receiver), irName, null, null); |
- return accessor.buildNullAwareAssignment(visitForValue(rhs), null, |
+ return accessor.buildNullAwareAssignment(visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -1505,7 +1504,7 @@ class KernelVisitor extends Object |
Accessor buildNullAwarePropertyAccessor(Node receiver, Name name) { |
return new NullAwarePropertyAccessor( |
- visitForValue(receiver), nameToIrName(name), null, null, null); |
+ visitForValue(receiver), nameToIrName(name), null, null); |
} |
@override |
@@ -1525,8 +1524,7 @@ class KernelVisitor extends Object |
buildIsNull(new ir.VariableGet(receiver)), |
new ir.NullLiteral(), |
buildInvokeSelector(new ir.VariableGet(receiver), selector, |
- buildArguments(arguments)), |
- null)); |
+ buildArguments(arguments)))); |
} |
@override |
@@ -1540,7 +1538,7 @@ class KernelVisitor extends Object |
ir.Expression visitIfNotNullDynamicPropertySetIfNull( |
Send node, Node receiver, Name name, Node rhs, _) { |
return buildNullAwarePropertyAccessor(receiver, name) |
- .buildNullAwareAssignment(visitForValue(rhs), null, |
+ .buildNullAwareAssignment(visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -1551,12 +1549,8 @@ class KernelVisitor extends Object |
} |
@override |
- ir.Expression visitIfNull(Send node, Node left, Node right, _) { |
- var leftValue = new ir.VariableDeclaration.forValue(visitForValue(left)); |
- return new ir.Let( |
- leftValue, |
- new ir.ConditionalExpression(buildIsNull(new ir.VariableGet(leftValue)), |
- visitForValue(right), new ir.VariableGet(leftValue), null)); |
+ ir.LogicalExpression visitIfNull(Send node, Node left, Node right, _) { |
+ return buildLogicalExpression(left, node.selector, right); |
} |
@override |
@@ -1843,7 +1837,7 @@ class KernelVisitor extends Object |
SendSet node, LocalElement local, Node rhs, _, |
{bool isSetterValid}) { |
return new VariableAccessor(getLocal(local)).buildNullAwareAssignment( |
- visitForValue(rhs), null, |
+ visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -1960,7 +1954,7 @@ class KernelVisitor extends Object |
setter = null; |
} |
return buildStaticAccessor(getter, setter).buildNullAwareAssignment( |
- visitForValue(rhs), null, |
+ visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -1997,7 +1991,6 @@ class KernelVisitor extends Object |
positionalParameters.add(variable); |
} |
}); |
- namedParameters.sort(); |
signature.forEachParameter((ParameterElement parameter) { |
if (!parameter.isOptional) return; |
ir.Expression initializer = visitForValue(parameter.initializer); |
@@ -2402,7 +2395,7 @@ class KernelVisitor extends Object |
setter = null; |
} |
return buildSuperPropertyAccessor(getter, setter).buildNullAwareAssignment( |
- visitForValue(rhs), null, |
+ visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -2631,7 +2624,7 @@ class KernelVisitor extends Object |
ir.Expression visitTypeVariableTypeLiteralSetIfNull( |
Send node, TypeVariableElement element, Node rhs, _) { |
return new ReadOnlyAccessor(buildTypeVariable(element)) |
- .buildNullAwareAssignment(visitForValue(rhs), null, |
+ .buildNullAwareAssignment(visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -2697,7 +2690,7 @@ class KernelVisitor extends Object |
ir.Expression visitIndexSetIfNull( |
SendSet node, Node receiver, Node index, Node rhs, _) { |
return buildIndexAccessor(receiver, index).buildNullAwareAssignment( |
- visitForValue(rhs), null, |
+ visitForValue(rhs), |
voidContext: isVoidContext); |
} |
@@ -2705,7 +2698,7 @@ class KernelVisitor extends Object |
ir.Expression visitSuperIndexSetIfNull(SendSet node, MethodElement getter, |
MethodElement setter, Node index, Node rhs, _) { |
return buildSuperIndexAccessor(index, getter, setter) |
- .buildNullAwareAssignment(visitForValue(rhs), null, |
+ .buildNullAwareAssignment(visitForValue(rhs), |
voidContext: isVoidContext); |
} |