Move creating sink for extra diagnostics into generation state to take responsibility for correct diagnostics suppression

This commit is contained in:
Nikolay Krasko
2015-11-25 13:50:16 +03:00
parent 652eeca872
commit 29a9ba64ca
8 changed files with 30 additions and 49 deletions
@@ -57,7 +57,6 @@ public class CodegenTestUtil {
analysisResult.throwIfError();
AnalyzingUtils.throwExceptionOnErrors(analysisResult.getBindingContext());
CompilerConfiguration configuration = environment.getConfiguration();
BindingTrace forExtraDiagnostics = new DelegatingBindingTrace(analysisResult.getBindingContext(), false, "For extra diagnostics in ${this.javaClass}");
GenerationState state = new GenerationState(
environment.getProject(), ClassBuilderFactories.TEST,
analysisResult.getModuleDescriptor(), analysisResult.getBindingContext(), files.getPsiFiles(),
@@ -66,13 +65,12 @@ public class CodegenTestUtil {
GenerationState.GenerateClassFilter.GENERATE_ALL,
configuration.get(JVMConfigurationKeys.DISABLE_INLINE, false),
configuration.get(JVMConfigurationKeys.DISABLE_OPTIMIZATION, false),
/* useTypeTableInSerializer = */ false,
forExtraDiagnostics
/* useTypeTableInSerializer = */ false
);
KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
// For JVM-specific errors
AnalyzingUtils.throwExceptionOnErrors(forExtraDiagnostics.getBindingContext());
AnalyzingUtils.throwExceptionOnErrors(state.getCollectedExtraJvmDiagnostics());
return state.getFactory();
}