anchor.diff:          TypedefElement,
           VariableElement;
   import '../../elements/entities.dart';
  +import '../../elements/resolution_types.dart' show Types;
   import '../../elements/types.dart' show DartType;
   import '../../js/js.dart' as js;
  -import '../../js_backend/js_backend.dart'
  -    show Namer, JavaScriptBackend, JavaScriptConstantCompiler, StringBackedName;
  +import '../../js_backend/backend.dart'
  +    show
  +        JavaScriptBackend,
  +        RuntimeTypesEncoder,
  +        RuntimeTypesNeed,
  +        SuperMemberData;
  +import '../../js_backend/backend_usage.dart';
  +import '../../js_backend/constant_handler_javascript.dart'
  +    show JavaScriptConstantCompiler;
  +import '../../js_backend/namer.dart' show Namer, StringBackedName;
  +import '../../js_backend/native_data.dart';
  +import '../../js_backend/interceptor_data.dart';
  +import '../../js_backend/mirrors_data.dart';
  +import '../../native/enqueue.dart' show NativeCodegenEnqueuer;
  +import '../../options.dart';
   import '../../universe/selector.dart' show Selector;
   import '../../universe/world_builder.dart'
       show CodegenWorldBuilder, SelectorConstraints;
  
positive.code:     // Note: In rare cases (mostly tests) output units can be empty. This
      // happens when the deferred code is dead-code eliminated but we still need
      // to check that the library has been loaded.
      _compiler.deferredLoadTask.allOutputUnits
          .forEach(_registry.registerOutputUnit);
      collector.outputClassLists.forEach(_registry.registerElements);
      collector.outputStaticLists.forEach(_registry.registerElements);
      collector.outputConstantLists.forEach(_registerConstants);
  
negative.code:         .map(_buildStaticMethod)
          .toList();
  
      if (library == _commonElements.interceptorsLibrary) {
        statics.addAll(_generateGetInterceptorMethods());
        statics.addAll(_generateOneShotInterceptors());
      }
  