anchor.diff:            new TypeEnvironment(loader.coreTypes, loader.hierarchy);
         constants.transformLibraries(
             loader.libraries,
  -          loader.target.backendTarget.constantsBackend(loader.coreTypes),
  -          CompilerContext.current.options.environmentDefines,
  +          backendTarget.constantsBackend(loader.coreTypes),
  +          environmentDefines,
             environment,
             new KernelConstantErrorReporter(loader, environment));
         ticker.logMs("Evaluated constants");
  
positive.code: 
      this.uriToSource.forEach(copySource);
  
      Component component = CompilerContext.current.options.target
          .configureComponent(new Component(
              nameRoot: nameRoot,
              libraries: libraries,
              uriToSource: uriToSource));
      if (loader.first != null) {
        // TODO(sigmund): do only for full program
        Declaration declaration =
  
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);
  