IR: remove type parameter in visitConst
Co-authored-by: mcpiroman <mcpiroman@gmail.com>
This commit is contained in:
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import java.util.*
|
||||
|
||||
inline fun <reified T : IrElement> T.deepCopyWithSymbols(
|
||||
initialParent: IrDeclarationParent? = null,
|
||||
@@ -408,7 +407,7 @@ open class DeepCopyIrTreeWithSymbols(
|
||||
override fun visitExpression(expression: IrExpression): IrExpression =
|
||||
throw IllegalArgumentException("Unsupported expression type: $expression")
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>): IrConst<T> =
|
||||
override fun visitConst(expression: IrConst<*>): IrConst<*> =
|
||||
expression.shallowCopy().copyAttributes(expression)
|
||||
|
||||
override fun visitConstantObject(expression: IrConstantObject): IrConstantValue =
|
||||
|
||||
@@ -560,7 +560,7 @@ class RenderIrElementVisitor(private val normalizeNames: Boolean = false, privat
|
||||
override fun visitExpression(expression: IrExpression, data: Nothing?): String =
|
||||
"? ${expression::class.java.simpleName} type=${expression.type.render()}"
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>, data: Nothing?): String =
|
||||
override fun visitConst(expression: IrConst<*>, data: Nothing?): String =
|
||||
"CONST ${expression.kind} type=${expression.type.render()} value=${expression.value?.escapeIfRequired()}"
|
||||
|
||||
private fun Any.escapeIfRequired() =
|
||||
|
||||
@@ -1180,7 +1180,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
|
||||
}
|
||||
}
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>, data: IrDeclaration?) {
|
||||
override fun visitConst(expression: IrConst<*>, data: IrDeclaration?) {
|
||||
val kind = expression.kind
|
||||
|
||||
val (prefix, postfix) = when (kind) {
|
||||
|
||||
@@ -79,9 +79,9 @@ interface IrElementTransformer<in D> : IrElementVisitor<IrElement, D> {
|
||||
return expression
|
||||
}
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>, data: D) = visitExpression(expression, data)
|
||||
override fun visitConst(expression: IrConst<*>, data: D) = visitExpression(expression, data)
|
||||
override fun visitVararg(expression: IrVararg, data: D) = visitExpression(expression, data)
|
||||
override fun visitConstantValue(expression: IrConstantValue, data: D) : IrConstantValue {
|
||||
override fun visitConstantValue(expression: IrConstantValue, data: D): IrConstantValue {
|
||||
expression.transformChildren(this, data)
|
||||
return expression
|
||||
}
|
||||
|
||||
+3
-3
@@ -134,10 +134,10 @@ abstract class IrElementTransformerVoid : IrElementTransformer<Nothing?> {
|
||||
|
||||
final override fun visitExpression(expression: IrExpression, data: Nothing?): IrExpression = visitExpression(expression)
|
||||
|
||||
open fun <T> visitConst(expression: IrConst<T>) = visitExpression(expression)
|
||||
final override fun <T> visitConst(expression: IrConst<T>, data: Nothing?) = visitConst(expression)
|
||||
open fun visitConst(expression: IrConst<*>) = visitExpression(expression)
|
||||
final override fun visitConst(expression: IrConst<*>, data: Nothing?) = visitConst(expression)
|
||||
|
||||
open fun visitConstantValue(expression: IrConstantValue) : IrConstantValue {
|
||||
open fun visitConstantValue(expression: IrConstantValue): IrConstantValue {
|
||||
expression.transformChildren(this, null)
|
||||
return expression
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ interface IrElementVisitor<out R, in D> {
|
||||
fun visitSuspensionPoint(expression: IrSuspensionPoint, data: D) = visitExpression(expression, data)
|
||||
|
||||
fun visitExpression(expression: IrExpression, data: D) = visitElement(expression, data)
|
||||
fun <T> visitConst(expression: IrConst<T>, data: D) = visitExpression(expression, data)
|
||||
fun visitConst(expression: IrConst<*>, data: D) = visitExpression(expression, data)
|
||||
fun visitConstantValue(expression: IrConstantValue, data: D) = visitExpression(expression, data)
|
||||
fun visitConstantObject(expression: IrConstantObject, data: D) = visitConstantValue(expression, data)
|
||||
fun visitConstantPrimitive(expression: IrConstantPrimitive, data: D) = visitConstantValue(expression, data)
|
||||
|
||||
@@ -104,8 +104,8 @@ interface IrElementVisitorVoid : IrElementVisitor<Unit, Nothing?> {
|
||||
fun visitExpression(expression: IrExpression) = visitElement(expression)
|
||||
override fun visitExpression(expression: IrExpression, data: Nothing?) = visitExpression(expression)
|
||||
|
||||
fun <T> visitConst(expression: IrConst<T>) = visitExpression(expression)
|
||||
override fun <T> visitConst(expression: IrConst<T>, data: Nothing?) = visitConst(expression)
|
||||
fun visitConst(expression: IrConst<*>) = visitExpression(expression)
|
||||
override fun visitConst(expression: IrConst<*>, data: Nothing?) = visitConst(expression)
|
||||
|
||||
fun visitConstantValue(expression: IrConstantValue) = visitExpression(expression)
|
||||
override fun visitConstantValue(expression: IrConstantValue, data: Nothing?) = visitConstantValue(expression)
|
||||
|
||||
Reference in New Issue
Block a user