anchor.diff:      Element element = elements[node];
       bool isClosureCall = false;
       if (element != null && compiler.world.hasNoOverridingMember(element)) {
  -      if (tryInlineMethod(element, selector, node.arguments)) {
  +      if (tryInlineMethod(element, selector, node.arguments, node)) {
           if (element.isGetter()) {
             // If the element is a getter, we are doing a closure call
             // on what this getter returns.
  
positive.code:       open(startCatchBlock);
        // TODO(kasperl): Bad smell. We shouldn't be constructing elements here.
        // Note that the name of this element is irrelevant.
        Element element = new ElementX(
            const SourceString('exception'), ElementKind.PARAMETER, work.element);
        exception = new HLocalValue(element);
        add(exception);
        HInstruction oldRethrowableException = rethrowableException;
  
negative.code:   }
  
    /**
     * Try to inline [element] within the currect context of the
     * builder. The insertion point is the state of the builder.
     */
    bool tryInlineMethod(Element element,
                         Selector selector,
                         Link<Node> arguments,
                         Node currentNode) {
      if (compiler.disableInlining) return false;
      // Ensure that [element] is an implementation element.
      element = element.implementation;
  