| Index: pkg/compiler/lib/src/ssa/builder.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
|
| index fb0f231c080395f3df096661daee2d846a526602..f9d87f94304cfb42add3c17338ba54c19881a5c1 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -990,6 +990,7 @@ class SwitchCaseJumpHandler extends TargetJumpHandler {
|
| */
|
| class SsaBuilder extends ast.Visitor
|
| with BaseImplementationOfCompoundsMixin,
|
| + BaseImplementationOfSetIfNullsMixin,
|
| SendResolverMixin,
|
| SemanticSendResolvedMixin,
|
| NewBulkMixin,
|
| @@ -6728,6 +6729,70 @@ class SsaBuilder extends ast.Visitor
|
| handleCompoundSendSet(node);
|
| }
|
|
|
| + @override
|
| + handleDynamicSetIfNulls(
|
| + ast.Send node,
|
| + ast.Node receiver,
|
| + Name name,
|
| + ast.Node rhs,
|
| + arg) {
|
| + handleCompoundSendSet(node);
|
| + }
|
| +
|
| + @override
|
| + handleLocalSetIfNulls(
|
| + ast.SendSet node,
|
| + LocalElement local,
|
| + ast.Node rhs,
|
| + arg,
|
| + {bool isSetterValid}) {
|
| + handleCompoundSendSet(node);
|
| + }
|
| +
|
| + @override
|
| + handleStaticSetIfNulls(
|
| + ast.SendSet node,
|
| + Element getter,
|
| + CompoundGetter getterKind,
|
| + Element setter,
|
| + CompoundSetter setterKind,
|
| + ast.Node rhs,
|
| + arg) {
|
| + handleCompoundSendSet(node);
|
| + }
|
| +
|
| + @override
|
| + handleSuperSetIfNulls(
|
| + ast.SendSet node,
|
| + Element getter,
|
| + CompoundGetter getterKind,
|
| + Element setter,
|
| + CompoundSetter setterKind,
|
| + ast.Node rhs,
|
| + arg) {
|
| + handleSuperSendSet(node);
|
| + }
|
| +
|
| + @override
|
| + handleTypeLiteralConstantSetIfNulls(
|
| + ast.SendSet node,
|
| + ConstantExpression constant,
|
| + ast.Node rhs,
|
| + arg) {
|
| + // The type variable is never `null`.
|
| + generateConstantTypeLiteral(node);
|
| + }
|
| +
|
| + @override
|
| + visitTypeVariableTypeLiteralSetIfNull(
|
| + ast.Send node,
|
| + TypeVariableElement element,
|
| + ast.Node rhs,
|
| + arg) {
|
| + // The type variable is never `null`.
|
| + generateTypeVariableLiteral(node, element.type);
|
| + }
|
| +
|
| void visitLiteralInt(ast.LiteralInt node) {
|
| stack.add(graph.addConstantInt(node.value, compiler));
|
| }
|
| @@ -8191,11 +8256,7 @@ class SsaBuilder extends ast.Visitor
|
| ConstantExpression constant,
|
| CompoundRhs rhs,
|
| _) {
|
| - if (rhs.operator.kind == BinaryOperatorKind.IF_NULL) {
|
| - handleCompoundSendSet(node);
|
| - } else {
|
| - handleTypeLiteralCompound(node);
|
| - }
|
| + handleTypeLiteralCompound(node);
|
| }
|
|
|
| @override
|
|
|