CompilationUnitTypeOracleUpdater typeOracleUpdater = null;
if (compileMonolithic) {
typeOracle = new TypeOracle();
typeOracleUpdater = new CompilationUnitTypeOracleUpdater(typeOracle);
} else {
typeOracle = new LibraryTypeOracle(compilerContext);
typeOracleUpdater = ((LibraryTypeOracle) typeOracle).getTypeOracleUpdater();
}
CompilationState compilationState = new CompilationState(logger, compilerContext, typeOracle,
typeOracleUpdater, resultUnits, compileMoreLater);