IR: remove type parameter in visitConst
Co-authored-by: mcpiroman <mcpiroman@gmail.com>
This commit is contained in:
+2
-3
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.ir.util.isUnsigned
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
|
||||
|
||||
|
||||
class ConstTransformer(private val context: JsIrBackendContext) : IrElementTransformerVoid() {
|
||||
private fun <C> lowerConst(
|
||||
irClass: IrClassSymbol,
|
||||
@@ -44,7 +43,7 @@ class ConstTransformer(private val context: JsIrBackendContext) : IrElementTrans
|
||||
private fun createLong(v: Long): IrExpression =
|
||||
lowerConst(context.intrinsics.longClassSymbol, IrConstImpl.Companion::int, v.toInt(), (v shr 32).toInt())
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>): IrExpression {
|
||||
override fun visitConst(expression: IrConst<*>): IrExpression {
|
||||
with(context.intrinsics) {
|
||||
if (expression.type.isUnsigned() && expression.kind != IrConstKind.Null) {
|
||||
return when (expression.type.classifierOrNull) {
|
||||
@@ -76,4 +75,4 @@ class ConstLowering(private val context: JsIrBackendContext) : BodyLoweringPass
|
||||
override fun lower(irBody: IrBody, container: IrDeclaration) {
|
||||
irBody.transformChildrenVoid(ConstTransformer(context))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-2
@@ -8,7 +8,10 @@ package org.jetbrains.kotlin.ir.backend.js.transformers.irToJs
|
||||
import org.jetbrains.kotlin.backend.common.compilationException
|
||||
import org.jetbrains.kotlin.backend.common.ir.isElseBranch
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.JsGenerationContext
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.Namer
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.emptyScope
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.getJsNameOrKotlinName
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.types.isString
|
||||
@@ -50,7 +53,7 @@ class IrElementToJsExpressionTransformer : BaseIrElementToJsNodeTransformer<JsEx
|
||||
return irFunction.accept(IrFunctionToJsTransformer(), context).apply { name = null }
|
||||
}
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>, context: JsGenerationContext): JsExpression {
|
||||
override fun visitConst(expression: IrConst<*>, context: JsGenerationContext): JsExpression {
|
||||
val kind = expression.kind
|
||||
return when (kind) {
|
||||
is IrConstKind.String -> JsStringLiteral(kind.valueOf(expression))
|
||||
|
||||
+2
-2
@@ -89,7 +89,7 @@ fun foldString(expression: IrExpression, context: JsIrBackendContext): String? {
|
||||
expression.acceptChildrenVoid(this)
|
||||
}
|
||||
|
||||
override fun <T> visitConst(expression: IrConst<T>) {
|
||||
override fun visitConst(expression: IrConst<*>) {
|
||||
builder.append(expression.kind.valueOf(expression))
|
||||
}
|
||||
|
||||
@@ -109,4 +109,4 @@ private class InitFunVisitor(private val context: JsIrBackendContext) : IrElemen
|
||||
override fun visitSetField(expression: IrSetField) {
|
||||
context.fieldToInitializer[expression.symbol.owner] = expression.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user