anchor.diff:    Map<Reference, ExtensionMemberDescriptor>? _extensionMemberIndex;
   
     JsUtilOptimizer(this._coreTypes, ClassHierarchy hierarchy)
  -      : _jsTarget =
  -            _coreTypes.index.getTopLevelProcedure('dart:_foreign_helper', 'JS'),
  -        _callMethodTarget =
  +      : _callMethodTarget =
               _coreTypes.index.getTopLevelProcedure('dart:js_util', 'callMethod'),
           _callMethodUncheckedTargets = List<Procedure>.generate(
               5,
  
positive.code:     'setProperty'
    ];
    final Iterable<Procedure> _allowedInteropJsUtilTargets;
    final Procedure _allowInteropTarget;
    final Procedure _listEmptyFactory;
  
  
negative.code: 
    /// Replaces js_util method calls with optimization when possible.
    ///
    /// Lowers `setProperty` to  `_setPropertyUnchecked` for values that are
    /// not Function type and guaranteed to be interop allowed.
    /// Lowers `callMethod` to `_callMethodUncheckedN` when the number of given
    /// arguments is 0-4 and all arguments are guaranteed to be interop allowed.
    /// Lowers `callConstructor` to `_callConstructorUncheckedN` when there are
    /// 0-4 arguments and all arguments are guaranteed to be interop allowed.
    @override
    visitStaticInvocation(StaticInvocation node) {
      if (node.target == _setPropertyTarget) {
        node = _lowerSetProperty(node);
      } else if (node.target == _callMethodTarget) {
        node = _lowerCallMethod(node);
  