anchor.diff:  
     Iterable<StaticStubMethod> _generateGetInterceptorMethods() {
       InterceptorStubGenerator stubGenerator =
  -        new InterceptorStubGenerator(_compiler, namer, backend, closedWorld);
  -
  -    String holderName = namer
  -        .globalObjectForLibrary(_compiler.commonElements.interceptorsLibrary);
  +        new InterceptorStubGenerator(_compiler, namer, _backend, closedWorld);
  +
  +    String holderName =
  +        namer.globalObjectForLibrary(_commonElements.interceptorsLibrary);
       // TODO(floitsch): we shouldn't update the registry in the middle of
       // generating the interceptor methods.
       Holder holder = _registry.registerHolder(holderName);
   
       Iterable<js.Name> names =
  -        backend.oneShotInterceptorData.specializedGetInterceptorNames;
  +        _oneShotInterceptorData.specializedGetInterceptorNames;
       return names.map((js.Name name) {
         Set<ClassEntity> classes =
  -          backend.oneShotInterceptorData.getSpecializedGetInterceptorsFor(name);
  +          _oneShotInterceptorData.getSpecializedGetInterceptorsFor(name);
         js.Expression code = stubGenerator.generateGetInterceptorMethod(classes);
         return new StaticStubMethod(name, holder, code);
       });
  
positive.code:     // a regular getter that returns a JavaScript function and tearing off
      // a method in the case where there exist multiple JavaScript classes
      // that conflict on whether the member is a getter or a method.
      var interceptorClass =
          _classes[_compiler.commonElements.jsJavaScriptObjectClass];
      var stubNames = new Set<String>();
      librariesMap.forEach((LibraryElement library, List<Element> elements) {
        for (Element e in elements) {
          if (e is ClassElement && backend.nativeData.isJsInteropClass(e)) {
            e.declaration.forEachMember((_, Element member) {
              var jsName =
                  backend.nativeData.computeUnescapedJSInteropName(member.name);
              if (!member.isInstanceMember) return;
              if (member.isGetter || member.isField || member.isFunction) {
                var selectors = worldBuilder.getterInvocationsByName(member.name);
                if (selectors != null && !selectors.isEmpty) {
                  for (var selector in selectors.keys) {
                    var stubName = namer.invocationName(selector);
  
negative.code:             }
  
              if (member.isSetter || (member.isField && !member.isConst)) {
                var selectors =
                    _worldBuilder.setterInvocationsByName(member.name);
                if (selectors != null && !selectors.isEmpty) {
                  var stubName = namer.setterForElement(member);
                  if (stubNames.add(stubName.key)) {
  