JVM_IR: add offsets to JvmStatic and JvmOverloads proxies
KAPT3 needs them to correct error types in arguments. #KT-64639 Fixed
This commit is contained in:
committed by
Space Cloud
parent
d5aaa29a7f
commit
588549d1d0
+3
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.buildConstructor
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
||||
import org.jetbrains.kotlin.ir.builders.setSourceRange
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.types.defaultType
|
||||
@@ -120,6 +121,7 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
|
||||
val res = when (oldFunction) {
|
||||
is IrConstructor -> {
|
||||
buildConstructor {
|
||||
setSourceRange(oldFunction)
|
||||
origin = JvmLoweredDeclarationOrigin.JVM_OVERLOADS_WRAPPER
|
||||
name = oldFunction.name
|
||||
visibility = oldFunction.visibility
|
||||
@@ -128,6 +130,7 @@ private class JvmOverloadsAnnotationLowering(val context: JvmBackendContext) : C
|
||||
}
|
||||
}
|
||||
is IrSimpleFunction -> buildFun {
|
||||
setSourceRange(oldFunction)
|
||||
origin = JvmLoweredDeclarationOrigin.JVM_OVERLOADS_WRAPPER
|
||||
name = oldFunction.name
|
||||
visibility = oldFunction.visibility
|
||||
|
||||
@@ -135,6 +135,7 @@ class JvmCachedDeclarations(
|
||||
|
||||
private fun IrClass.makeProxy(target: IrSimpleFunction, isStatic: Boolean) =
|
||||
context.irFactory.buildFun {
|
||||
setSourceRange(target)
|
||||
returnType = target.returnType
|
||||
origin = JvmLoweredDeclarationOrigin.JVM_STATIC_WRAPPER
|
||||
// The proxy needs to have the same name as what it is targeting. If that is a property accessor,
|
||||
|
||||
Reference in New Issue
Block a user