Index: sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/ssa/builder.dart (revision 22983) |
+++ sdk/lib/_internal/compiler/implementation/ssa/builder.dart (working copy) |
@@ -1320,16 +1320,16 @@ |
} |
assert(canBeInlined); |
- InliningState state = enterInlinedMethod( |
- function, selector, argumentsNodes, providedArguments, currentNode); |
- // Add an explicit null check on the receiver. We use [element] |
- // to get the same name in the NoSuchMethodError message as if we had |
- // called it. |
+ // Add an explicit null check on the receiver before doing the |
+ // inlining. We use [element] to get the same name in the NoSuchMethodError |
+ // message as if we had called it. |
if (element.isInstanceMember() |
&& (selector.mask == null || selector.mask.isNullable)) { |
addWithPosition( |
new HFieldGet(element, providedArguments[0]), currentNode); |
} |
+ InliningState state = enterInlinedMethod( |
+ function, selector, argumentsNodes, providedArguments, currentNode); |
inlinedFrom(element, () { |
functionExpression.body.accept(this); |
}); |