anchor.diff:      options.add(Flags.suppressHints);
     }
     var collector = new DiagnosticCollector();
  -  await runCompiler(
  +  CompilationResult result = await runCompiler(
         entryPoint: entryPoint,
         memorySourceFiles: SOURCE,
         options: options,
         packageRoot: Uri.parse('memory:pkg/'),
  -      diagnosticHandler: collector);
  +      diagnosticHandler: collector,
  +      cachedCompiler: cachedCompiler);
     Expect.equals(0, collector.errors.length,
                   'Unexpected errors: ${collector.errors}');
     Expect.equals(0, collector.warnings.length,
  
positive.code: import 'package:async_helper/async_helper.dart';
  import 'package:expect/expect.dart';
  import 'package:compiler/src/commandline_options.dart';
  import 'memory_compiler.dart';
  
  const SOURCE = const {
    'show_local.dart': """
  import 'lib.dart' show Foo;
  """,
  
    'hide_local.dart': """
  import 'lib.dart' hide Foo;
  """,
  
    'show_package.dart': """
  import 'package:pkg/pkg.dart' show Foo;
  """,
  
    'hide_package.dart': """
  import 'package:pkg/pkg.dart' hide Foo;
  """,
  
    'lib.dart': '',
  
negative.code:   'pkg/pkg/pkg.dart': '',
  };
  
  Future<Compiler> test(Uri entryPoint,
                        {bool showPackageWarnings: false,
                         bool suppressHints: false,
                         int hints: 0,
                         Compiler cachedCompiler}) async {
    print('==================================================================');
    print('test: $entryPoint showPackageWarnings=$showPackageWarnings '
          'suppressHints=$suppressHints');
    var options = [Flags.analyzeOnly];
    if (showPackageWarnings) {
      options.add(Flags.showPackageWarnings);
    }
  