Rename ReturnLabel.NEXT to ReturnLabel.REGULAR

This name better describe that this label mean: execution was finished
regular and there is no need to make special processing
This commit is contained in:
Ivan Kylchik
2020-06-17 15:37:15 +03:00
parent 9377d274a8
commit 0c6d485c9c
2 changed files with 5 additions and 5 deletions
@@ -75,7 +75,7 @@ class IrInterpreter(irModule: IrModuleFragment, private val bodyMap: Map<IdSigna
return try { return try {
runBlocking { runBlocking {
return@runBlocking when (val returnLabel = withContext(this.coroutineContext) { expression.interpret().returnLabel }) { return@runBlocking when (val returnLabel = withContext(this.coroutineContext) { expression.interpret().returnLabel }) {
ReturnLabel.NEXT -> stack.popReturnValue().toIrExpression(expression) ReturnLabel.REGULAR -> stack.popReturnValue().toIrExpression(expression)
ReturnLabel.EXCEPTION -> { ReturnLabel.EXCEPTION -> {
val message = (stack.popReturnValue() as ExceptionState).getFullDescription() val message = (stack.popReturnValue() as ExceptionState).getFullDescription()
IrErrorExpressionImpl(expression.startOffset, expression.endOffset, expression.type, "\n" + message) IrErrorExpressionImpl(expression.startOffset, expression.endOffset, expression.type, "\n" + message)
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
import org.jetbrains.kotlin.ir.util.render import org.jetbrains.kotlin.ir.util.render
enum class ReturnLabel { enum class ReturnLabel {
NEXT, RETURN, BREAK_LOOP, BREAK_WHEN, CONTINUE, EXCEPTION REGULAR, RETURN, BREAK_LOOP, BREAK_WHEN, CONTINUE, EXCEPTION
} }
open class ExecutionResult(val returnLabel: ReturnLabel, private val owner: IrElement? = null) { open class ExecutionResult(val returnLabel: ReturnLabel, private val owner: IrElement? = null) {
@@ -46,7 +46,7 @@ open class ExecutionResult(val returnLabel: ReturnLabel, private val owner: IrEl
else -> this else -> this
} }
ReturnLabel.EXCEPTION -> Exception ReturnLabel.EXCEPTION -> Exception
ReturnLabel.NEXT -> Next ReturnLabel.REGULAR -> Next
} }
} }
@@ -55,7 +55,7 @@ open class ExecutionResult(val returnLabel: ReturnLabel, private val owner: IrEl
} }
} }
inline fun ExecutionResult.check(toCheckLabel: ReturnLabel = ReturnLabel.NEXT, returnBlock: (ExecutionResult) -> Unit): ExecutionResult { inline fun ExecutionResult.check(toCheckLabel: ReturnLabel = ReturnLabel.REGULAR, returnBlock: (ExecutionResult) -> Unit): ExecutionResult {
if (this.returnLabel != toCheckLabel) returnBlock(this) if (this.returnLabel != toCheckLabel) returnBlock(this)
return this return this
} }
@@ -78,7 +78,7 @@ internal fun ExecutionResult.implicitCastIfNeeded(expectedType: IrType, actualTy
return this return this
} }
object Next : ExecutionResult(ReturnLabel.NEXT) object Next : ExecutionResult(ReturnLabel.REGULAR)
object Return : ExecutionResult(ReturnLabel.RETURN) object Return : ExecutionResult(ReturnLabel.RETURN)
object BreakLoop : ExecutionResult(ReturnLabel.BREAK_LOOP) object BreakLoop : ExecutionResult(ReturnLabel.BREAK_LOOP)
object BreakWhen : ExecutionResult(ReturnLabel.BREAK_WHEN) object BreakWhen : ExecutionResult(ReturnLabel.BREAK_WHEN)