JVM_IR: specify correct type for defaultConstructorMarker arguments
This commit is contained in:
+2
-1
@@ -368,8 +368,9 @@ open class DefaultParameterInjector(
|
||||
)
|
||||
}
|
||||
if (expression.symbol is IrConstructorSymbol) {
|
||||
val defaultArgumentMarker = context.ir.symbols.defaultConstructorMarker
|
||||
params += markerParameterDeclaration(realFunction) to
|
||||
IrConstImpl.constNull(startOffset, endOffset, context.irBuiltIns.nothingNType)
|
||||
IrConstImpl.constNull(startOffset, endOffset, defaultArgumentMarker.owner.defaultType.makeNullable())
|
||||
} else if (context.ir.shouldGenerateHandlerParameterForDefaultBodyFun()) {
|
||||
params += realFunction.valueParameters.last() to
|
||||
IrConstImpl.constNull(startOffset, endOffset, context.irBuiltIns.nothingNType)
|
||||
|
||||
+2
-1
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.ir.symbols.*
|
||||
import org.jetbrains.kotlin.ir.types.classOrNull
|
||||
import org.jetbrains.kotlin.ir.types.classifierOrNull
|
||||
import org.jetbrains.kotlin.ir.types.isSubtypeOfClass
|
||||
import org.jetbrains.kotlin.ir.types.makeNullable
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
|
||||
import org.jetbrains.kotlin.load.java.JavaVisibilities
|
||||
@@ -329,7 +330,7 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
|
||||
IrConstImpl.constNull(
|
||||
UNDEFINED_OFFSET,
|
||||
UNDEFINED_OFFSET,
|
||||
context.ir.symbols.defaultConstructorMarker.owner.defaultType
|
||||
context.ir.symbols.defaultConstructorMarker.owner.defaultType.makeNullable()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
class A (i: Int = 0)
|
||||
|
||||
// 0 ATHROW
|
||||
// 0 ATHROW
|
||||
// 0 CHECKCAST
|
||||
Reference in New Issue
Block a user