anchor.diff:  
       return Command.compilation('assemble', tempDir,
           bootstrapDependencies(buildDir), exec, args, environmentOverrides,
  -        alwaysCompile: !useSdk);
  +        alwaysCompile: !_useSdk);
     }
   
     // This step reduces the amount of space needed to run the precompilation
  
positive.code:         originalArguments,
          artifact);
    }
  
    static ComposedCompilerConfiguration createDartKPConfiguration(
        {bool isChecked,
        bool isHostChecked,
        Architecture arch,
        bool useBlobs,
        bool isAndroid,
        bool useSdk,
        bool verify,
        bool strong,
        bool treeShake}) {
      return new ComposedCompilerConfiguration([
        // Compile with dartk.
        new PipelineCommand.runWithGlobalArguments(new DartKCompilerConfiguration(
            isChecked: isChecked,
            isHostChecked: isHostChecked,
            useSdk: useSdk,
            verify: verify,
            strong: strong,
            treeShake: treeShake)),
  
        // Run the normal precompiler.
        new PipelineCommand.runWithPreviousKernelOutput(
            new PrecompilerCompilerConfiguration(
                isChecked: isChecked,
                arch: arch,
                useBlobs: useBlobs,
                isAndroid: isAndroid))
      ]);
    }
  
    static ComposedCompilerConfiguration createDartKConfiguration(
        {bool isChecked,
        bool isHostChecked,
        bool useSdk,
        bool verify,
        bool strong,
        bool treeShake}) {
      return new ComposedCompilerConfiguration([
        // Compile with dartk.
        new PipelineCommand.runWithGlobalArguments(new DartKCompilerConfiguration(
            isChecked: isChecked,
            isHostChecked: isHostChecked,
            useSdk: useSdk,
            verify: verify,
            strong: strong,
            treeShake: treeShake))
      ]);
    }
  }
  
  /// Common configuration for dart2js-based tools, such as, dart2js
  class Dart2xCompilerConfiguration extends CompilerConfiguration {
    final String moniker;
    static Map<String, List<Uri>> _bootstrapDependenciesCache =
        new Map<String, List<Uri>>();
  
    Dart2xCompilerConfiguration(this.moniker,
        {bool isDebug, bool isChecked, bool isHostChecked, bool useSdk})
        : super._subclass(
              isDebug: isDebug,
              isChecked: isChecked,
              isHostChecked: isHostChecked,
              useSdk: useSdk);
  
    String computeCompilerPath(String buildDir) {
      var prefix = 'sdk/bin';
      String suffix = executableScriptSuffix;
      if (isHostChecked) {
        // The script dart2js_developer is not included in the
        // shipped SDK, that is the script is not installed in
        // "$buildDir/dart-sdk/bin/"
        return '$prefix/dart2js_developer$suffix';
      } else {
        if (useSdk) {
          prefix = '$buildDir/dart-sdk/bin';
        }
        return '$prefix/dart2js$suffix';
      }
    }
  
    Command computeCompilationCommand(String outputFileName, String buildDir,
  
negative.code:   bool get hasCompiler => true;
  
    String get executableScriptSuffix => Platform.isWindows ? '.bat' : '';
  
    List<Uri> bootstrapDependencies(String buildDir) => const <Uri>[];
  
  