anchor.diff:            new Arguments(node.arguments.positional, named: node.arguments.named);
       }
       _genArguments(null, args);
  -    _genStaticCallWithArgs(node.target, args, isFactory: node.target.isFactory);
  +    _genStaticCallWithArgs(target, args, isFactory: target.isFactory);
     }
   
     @override
  
positive.code:   @override
    visitStaticInvocation(StaticInvocation node) {
      Arguments args = node.arguments;
      if (node.target.isFactory) {
        final constructedClass = node.target.enclosingClass;
        if (hasInstantiatorTypeArguments(constructedClass)) {
          _genTypeArguments(args.types,
              instantiatingClass: node.target.enclosingClass);
        } else {
          assert(args.types.isEmpty);
          // VM needs type arguments for every invocation of a factory
  
negative.code:       _allocateInvocationMirror ??= libraryIndex.getMember(
            'dart:core', '_InvocationMirror', '_allocateInvocationMirror');
  
    Procedure _unsafeCast;
    Procedure get unsafeCast => _unsafeCast ??=
        libraryIndex.getTopLevelMember('dart:_internal', 'unsafeCast');
  
    void _genConstructorInitializers(Constructor node) {
      bool isRedirecting =
          node.initializers.any((init) => init is RedirectingInitializer);
  