Remove useless Intrinsic interface

Moved all its methods inside sealed class
This commit is contained in:
Ivan Kylchik
2020-04-15 12:49:19 +03:00
parent eb3ac74c3f
commit 0b0550f562
2 changed files with 4 additions and 17 deletions
@@ -1,16 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.backend.common.interpreter.intrinsics
import org.jetbrains.kotlin.backend.common.interpreter.ExecutionResult
import org.jetbrains.kotlin.backend.common.interpreter.stack.Stack
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrFunction
interface Intrinsic {
fun equalTo(irFunction: IrFunction): Boolean
suspend fun evaluate(irFunction: IrFunction, stack: Stack, interpret: suspend IrElement.() -> ExecutionResult): ExecutionResult
}
@@ -17,7 +17,10 @@ import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.types.classOrNull
import org.jetbrains.kotlin.ir.util.*
sealed class IntrinsicBase : Intrinsic
sealed class IntrinsicBase {
abstract fun equalTo(irFunction: IrFunction): Boolean
abstract suspend fun evaluate(irFunction: IrFunction, stack: Stack, interpret: suspend IrElement.() -> ExecutionResult): ExecutionResult
}
object EmptyArray : IntrinsicBase() {
override fun equalTo(irFunction: IrFunction): Boolean {