Fix legacy definitions error propagation

also fixes script-util test with resolving errors
This commit is contained in:
Ilya Chernikov
2019-07-09 16:55:33 +02:00
parent 10e19bccb1
commit 382e55284c
4 changed files with 36 additions and 26 deletions
@@ -364,20 +364,22 @@ class ScriptTemplateTest : KtUsefulTestCase() {
val environment = KotlinCoreEnvironment.createForTests(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
try {
return KotlinToJVMBytecodeCompiler.compileScript(environment, this::class.java.classLoader.takeUnless { runIsolated })
}
catch (e: CompilationException) {
messageCollector.report(CompilerMessageSeverity.EXCEPTION, OutputMessageUtil.renderException(e),
MessageUtil.psiElementToMessageLocation(e.element))
return null
}
catch (t: Throwable) {
return try {
KotlinToJVMBytecodeCompiler.compileScript(environment, this::class.java.classLoader.takeUnless { runIsolated })
} catch (e: CompilationException) {
messageCollector.report(
CompilerMessageSeverity.EXCEPTION, OutputMessageUtil.renderException(e),
MessageUtil.psiElementToMessageLocation(e.element)
)
null
} catch (e: IllegalStateException) {
messageCollector.report(CompilerMessageSeverity.EXCEPTION, OutputMessageUtil.renderException(e))
null
} catch (t: Throwable) {
MessageCollectorUtil.reportException(messageCollector, t)
throw t
}
}
finally {
} finally {
Disposer.dispose(rootDisposable)
}
}