Index: pkg/compiler/lib/src/resolution/members.dart |
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart |
index 69f9786762cba834502d2289cdf71c6c16386915..b72dba8ae19031d22902ccae954fd38fb13aa8d4 100644 |
--- a/pkg/compiler/lib/src/resolution/members.dart |
+++ b/pkg/compiler/lib/src/resolution/members.dart |
@@ -3214,8 +3214,12 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
registry.registerDynamicUse( |
new DynamicUse(operatorSelector, null)); |
- SendStructure sendStructure = |
- new CompoundIndexSetStructure(semantics, operator); |
+ SendStructure sendStructure; |
+ if (operator.kind == AssignmentOperatorKind.IF_NULL) { |
+ sendStructure = new IndexSetIfNullStructure(semantics); |
+ } else { |
+ sendStructure = new CompoundIndexSetStructure(semantics, operator); |
+ } |
registry.registerSendStructure(node, sendStructure); |
return const NoneResult(); |
} |
@@ -3338,8 +3342,12 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
registry.registerDynamicUse( |
new DynamicUse(operatorSelector, null)); |
- SendStructure sendStructure = |
- new CompoundIndexSetStructure(semantics, operator); |
+ SendStructure sendStructure; |
+ if (operator.kind == AssignmentOperatorKind.IF_NULL) { |
+ sendStructure = new IndexSetIfNullStructure(semantics); |
+ } else { |
+ sendStructure = new CompoundIndexSetStructure(semantics, operator); |
+ } |
registry.registerSendStructure(node, sendStructure); |
return const NoneResult(); |
} |