[scripting] Fix Kotlin reflection metadata for script constructors

This commit is contained in:
Ilya Muradyan
2021-12-01 23:06:39 +03:00
committed by teamcityserver
parent 176803689a
commit 7283ea86af
4 changed files with 63 additions and 9 deletions
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.codegen.context.CodegenContext
import org.jetbrains.kotlin.codegen.context.MethodContext
import org.jetbrains.kotlin.codegen.context.ScriptContext
import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.METHOD_FOR_FUNCTION
import org.jetbrains.kotlin.codegen.serialization.JvmSerializerExtension
import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -82,6 +83,8 @@ class ScriptCodegen private constructor(
val jvmSignature = typeMapper.mapScriptSignature(scriptDescriptor)
val asmMethod = jvmSignature.asmMethod
classBuilder.serializationBindings.put(METHOD_FOR_FUNCTION, scriptDescriptor.unsubstitutedPrimaryConstructor, asmMethod)
scriptContext.resultFieldInfo?.let { resultFieldInfo ->
classBuilder.newField(
NO_ORIGIN,