REPL: Fix REPL scripts metadata to be correctly recognized by class file decompiler

This commit is contained in:
Ilya Muradyan
2022-01-24 19:09:10 +03:00
committed by teamcity
parent d2418a1329
commit 9637b6b848
6 changed files with 60 additions and 17 deletions
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.resolve.scopes.utils.addImportingScope
import org.jetbrains.kotlin.resolve.source.toSourceElement
import org.jetbrains.kotlin.scripting.definitions.*
import org.jetbrains.kotlin.types.TypeSubstitutor
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.types.typeUtil.isNothing
import org.jetbrains.kotlin.types.typeUtil.isUnit
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
@@ -328,7 +329,7 @@ class LazyScriptDescriptor(
)
val earlierScriptsParameter = if (isReplScript) {
createValueParameter(Name.special("<earlierScripts>") to builtIns.array.defaultType)
createValueParameter(Name.special("<earlierScripts>") to builtIns.getArrayType(Variance.INVARIANT, builtIns.anyType))
} else null
val explicitParameters = baseExplicitParameters.map { it.copy(constructorDescriptor, it.name, paramsIndexBase++) }