Don't wrap ProcessCanceledException with other exceptions

ProcessCanceledException indicates that the compilation process was
terminated by user. This kind of exception should not be wrapped anyhow
in order to be handled on toplevel in CLICompiler.
#KT-38483 Fixed
This commit is contained in:
Andrey Uskov
2022-09-12 21:39:48 +03:00
committed by teamcity
parent 5fcb18ac2b
commit d223dafc45
3 changed files with 18 additions and 9 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.backend.common
import com.intellij.openapi.progress.ProcessCanceledException
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
@@ -96,13 +97,16 @@ fun Throwable.wrapWithCompilationException(
message: String,
file: IrFile,
element: IrElement?
): CompilationException {
return CompilationException(
"$message: ${this::class.qualifiedName}: ${this.message}",
file,
element,
cause = this
).apply {
stackTrace = this@wrapWithCompilationException.stackTrace
}
): RuntimeException {
return if (this is ProcessCanceledException)
this
else
CompilationException(
"$message: ${this::class.qualifiedName}: ${this.message}",
file,
element,
cause = this
).apply {
stackTrace = this@wrapWithCompilationException.stackTrace
}
}