anchor.diff:  
       this.uriToSource.forEach(copySource);
   
  -    Component component = CompilerContext.current.options.target
  -        .configureComponent(new Component(
  -            nameRoot: nameRoot,
  -            libraries: libraries,
  -            uriToSource: uriToSource));
  +    Component component = backendTarget.configureComponent(new Component(
  +        nameRoot: nameRoot, libraries: libraries, uriToSource: uriToSource));
       if (loader.first != null) {
         // TODO(sigmund): do only for full program
         Declaration declaration =
  
positive.code:           new TypeEnvironment(loader.coreTypes, loader.hierarchy);
        constants.transformLibraries(
            loader.libraries,
            loader.target.backendTarget.constantsBackend(loader.coreTypes),
            CompilerContext.current.options.environmentDefines,
            environment,
            new KernelConstantErrorReporter(loader, environment));
        ticker.logMs("Evaluated constants");
  
negative.code:         libraries.add(library.target);
        }
      }
      Component plaformLibraries =
          backendTarget.configureComponent(new Component());
      // Add libraries directly to prevent that their parents are changed.
      plaformLibraries.libraries.addAll(libraries);
      loader.computeCoreTypes(plaformLibraries);
  