[JS IR BE] update current lowerings for IrScript
This commit is contained in:
committed by
romanart
parent
d79279d8a5
commit
240abdb750
@@ -11,6 +11,8 @@ dependencies {
|
||||
compileOnly(project(":compiler:frontend.java"))
|
||||
compileOnly(project(":compiler:psi"))
|
||||
compileOnly(project(":compiler:plugin-api"))
|
||||
compileOnly(project(":compiler:cli"))
|
||||
compileOnly(project(":compiler:ir.serialization.js"))
|
||||
compile(project(":kotlin-scripting-common"))
|
||||
compile(project(":kotlin-scripting-jvm"))
|
||||
compile(kotlinStdlib())
|
||||
|
||||
+10
-6
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.diagnostics.Errors.MISSING_IMPORTED_SCRIPT_FILE
|
||||
import org.jetbrains.kotlin.diagnostics.Errors.MISSING_IMPORTED_SCRIPT_PSI
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getChildOfType
|
||||
@@ -156,13 +157,16 @@ class LazyScriptDescriptor(
|
||||
override fun getUnsubstitutedPrimaryConstructor() = super.getUnsubstitutedPrimaryConstructor()!!
|
||||
|
||||
internal val baseClassDescriptor: () -> ClassDescriptor? = resolveSession.storageManager.createNullableLazyValue {
|
||||
val baseClass = getScriptingClass(
|
||||
scriptCompilationConfiguration()[ScriptCompilationConfiguration.baseClass]
|
||||
?: throw IllegalStateException("Base class is not configured for the script ${scriptInfo.script.containingFile}")
|
||||
)
|
||||
val scriptBaseType = scriptCompilationConfiguration()[ScriptCompilationConfiguration.baseClass]
|
||||
?: error("Base class is not configured for the script ${scriptInfo.script.containingFile}")
|
||||
val typeName = scriptBaseType.run { fromClass?.toString()?.replace("class ", "") ?: typeName }
|
||||
val fqnName = FqName(typeName)
|
||||
val classId = ClassId.topLevel(fqnName)
|
||||
|
||||
findTypeDescriptor(
|
||||
baseClass,
|
||||
if (baseClass.qualifiedName?.startsWith("kotlin.script.templates.standard") == true) Errors.MISSING_SCRIPT_STANDARD_TEMPLATE
|
||||
classId,
|
||||
typeName,
|
||||
if (fqnName.parent().asString().startsWith("kotlin.script.templates.standard")) Errors.MISSING_SCRIPT_STANDARD_TEMPLATE
|
||||
else Errors.MISSING_SCRIPT_BASE_CLASS
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user