anchor.diff:      var type = getStaticType(target);
       var memberName = _emitMemberName(name, unary: args.isEmpty, type: type);
       if (DynamicInvoke.get(target)) {
  +      if (_inWhitelistCode(target)) {
  +        var vars = <JS.MetaLetVariable, JS.Expression>{};
  +        var l = _visit(_bindValue(vars, 'l', target));
  +        return new JS.MetaLet(vars, [
  +          js.call('(#[(#[dart._extensionType]) ? dartx[#] : #])(#)',
  +              [l, l, memberName, memberName, _visitList(args)])
  +        ]);
  +      }
         // dynamic dispatch
         var dynamicHelper = const {'[]': 'dindex', '[]=': 'dsetindex'}[name];
         if (dynamicHelper != null) {
           return js.call(
               'dart.$dynamicHelper(#, #)', [_visit(target), _visitList(args)]);
  -      }
  -      if (_inWhitelistCode(target)) {
  -        return js
  -            .call('#.#(#)', [_visit(target), memberName, _visitList(args)]);
         } else {
           return js.call('dart.dsend(#, #, #)',
               [_visit(target), memberName, _visitList(args)]);
  
positive.code:         type: getStaticType(target), isStatic: isStatic);
      if (DynamicInvoke.get(target)) {
        if (_inWhitelistCode(target)) {
          return js.call('#.#', [_visit(target), name]);
        }
        return js.call('dart.dload(#, #)', [_visit(target), name]);
      }
  
negative.code: 
      if (target != null && DynamicInvoke.get(target)) {
        if (_inWhitelistCode(lhs)) {
          var vars = <JS.MetaLetVariable, JS.Expression>{};
          var l = _visit(_bindValue(vars, 'l', target));
          var name = _emitMemberName(id.name);
          return new JS.MetaLet(vars, [
            js.call('(#[(#[dart._extensionType]) ? dartx[#] : #] = #)',
                [l, l, name, name, _visit(rhs)])
          ]);
        }
        return js.call('dart.dput(#, #, #)',
            [_visit(target), _emitMemberName(id.name), _visit(rhs)]);
  