anchor.diff:      if (node.target is! FunctionElement) {
         giveup(node, 'static getters and setters are not supported.');
       }
  -    return buildStaticInvoke(node.selector,
  -                             node.target,
  -                             visitArguments(node.arguments));
  +    Selector selector = node.selector;
  +    FunctionElement target = node.target;
  +    List<js.Expression> arguments =
  +        compileStaticArgumentList(selector, target, node.arguments);
  +    return buildStaticInvoke(selector, target, arguments);
     }
   
     @override
  
positive.code:       entries[2 * i] = visitExpression(node.entries[i].key);
        entries[2 * i + 1] = visitExpression(node.entries[i].value);
      }
      List<js.Expression> args =
          <js.Expression>[new js.ArrayInitializer(entries)];
      return buildStaticInvoke(
          new Selector.call(constructor.name, constructor.library, 2),
          constructor,
  
negative.code:       return js.propertyCall(interceptorLibrary, selector.name, arguments);
      } else {
        js.Expression elementAccess = glue.staticFunctionAccess(target);
        return new js.Call(elementAccess, arguments);
      }
    }
  
    List<js.Expression> compileStaticArgumentList(
        Selector selector,
        Element target, /* TODO(karlklose): this should be the signature. */
        List<tree_ir.Expression> arguments) {
      return selector.makeArgumentsList(
          target.implementation,
          visitArguments(arguments),
          compileConstant);
    }
  
    @override
    js.Expression visitInvokeConstructor(tree_ir.InvokeConstructor node) {
      if (node.constant != null) return giveup(node);
      registry.registerInstantiatedClass(node.target.enclosingClass);
      Selector selector = node.selector;
      FunctionElement target = node.target;
      List<js.Expression> arguments =
          compileStaticArgumentList(selector, target, node.arguments);
      return buildStaticInvoke(selector, target, arguments);
    }
  
    void registerMethodInvoke(tree_ir.InvokeMethod node) {
  