Index: pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
index 1528888cb06c7d89355eedec77e5feffa9af4bb7..fb18875ccece743e4bf35e8adc36dd3216c07591 100644 |
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
@@ -38,7 +38,7 @@ import 'package:kernel/class_hierarchy.dart' show ClassHierarchy; |
import 'package:kernel/core_types.dart' show CoreTypes; |
-import 'frontend_accessors.dart' show buildIsNull, makeBinary, makeLet; |
+import 'frontend_accessors.dart' show buildIsNull, makeBinary; |
import '../../scanner/token.dart' show BeginToken, Token; |
@@ -3195,13 +3195,16 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper { |
} |
if (isNullAware) { |
VariableDeclaration variable = new VariableDeclaration.forValue(receiver); |
- return makeLet( |
+ return new KernelNullAwareMethodInvocation( |
variable, |
- new KernelConditionalExpression( |
+ new ConditionalExpression( |
buildIsNull(new VariableGet(variable), offset), |
new NullLiteral(), |
new MethodInvocation(new VariableGet(variable), name, arguments) |
- ..fileOffset = offset)); |
+ ..fileOffset = offset, |
+ const DynamicType()) |
+ ..fileOffset = offset) |
+ ..fileOffset = offset; |
} else { |
return new KernelMethodInvocation(receiver, name, arguments, |
isImplicitCall: isImplicitCall) |