anchor.diff:      inputs.addAll(arguments);
       if (selector.isGetter()) {
         bool hasGetter = compiler.world.hasAnyUserDefinedGetter(selector);
  -      return new HInvokeDynamicGetter(selector, null, inputs, !hasGetter);
  +      pushWithPosition(
  +          new HInvokeDynamicGetter(selector, null, inputs, !hasGetter),
  +          location);
       } else if (selector.isSetter()) {
         bool hasSetter = compiler.world.hasAnyUserDefinedSetter(selector);
  -      return new HInvokeDynamicSetter(selector, null, inputs, !hasSetter);
  +      pushWithPosition(
  +          new HInvokeDynamicSetter(selector, null, inputs, !hasSetter),
  +          location);
       } else {
  -      return new HInvokeDynamicMethod(selector, inputs, isIntercepted);
  +      pushWithPosition(
  +          new HInvokeDynamicMethod(selector, inputs, isIntercepted),
  +          location);
       }
     }
   
  
positive.code:                                                   HInstruction receiver) {
      assert(Elements.isInstanceSend(send, elements));
      assert(selector.isGetter());
      HInstruction res = buildInvokeDynamic(send, selector, [receiver]);
      pushWithPosition(res, send);
    }
  
    void generateGetter(Send send, Element element) {
  
negative.code:       stack.add(result);
      } else if (node.isIndex) {
        if (const SourceString("=") == op.source) {
          visitDynamicSend(node);
        } else {
          visit(node.receiver);
          HInstruction receiver = pop();
  