anchor.diff:  import 'package:kernel/external_name.dart'
       show getExternalName, getNativeExtensionUris;
   import 'package:kernel/library_index.dart' show LibraryIndex;
  +import 'package:kernel/text/ast_to_text.dart'
  +    show globalDebuggingNames, NameSystem;
   import 'package:kernel/type_algebra.dart'
       show Substitution, containsTypeVariable;
   import 'package:kernel/type_environment.dart' show TypeEnvironment;
  
positive.code:       onAmbiguousSupertypes: ignoreAmbiguousSupertypes);
    final typeEnvironment = new TypeEnvironment(coreTypes, hierarchy);
    libraries ??= component.libraries;
    try {
      final bytecodeGenerator = new BytecodeGenerator(
          component, coreTypes, hierarchy, typeEnvironment, options);
  
negative.code:     CompilerContext.current.options.report(
          templateIllegalRecursiveType.withArguments(e.type).withoutLocation(),
          Severity.error);
    } finally {
      globalDebuggingNames = savedGlobalDebuggingNames;
    }
  }
  
  