y2k_
06/28/2017, 10:35 AMval engine = ScriptEngineManager().getEngineByExtension("kts")!!
try { engine.eval("throw Exception()") } catch (e: Exception) { }
engine.eval("2 + 2") // Тоже падает с ошибкой
После первой ошибки, любой eval падает с
Caused by: java.lang.IllegalArgumentException: Could not find a classifier for File name: Line_1.kts Physical: true Injected: false
<caret>2 + 2.
Found descriptor: public final class Line_1 : org.jetbrains.kotlin.script.jsr223.KotlinStandardJsr223ScriptTemplate defined in root package (class org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor).
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.findClassDescriptor(LazyDeclarationResolver.java:96)
at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getScriptDescriptor(LazyDeclarationResolver.java:77)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer$analyzeDeclarations$1.visitScript(LazyTopDownAnalyzer.kt:84)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:515)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtScript.accept(KtScript.java:83)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:58)
at org.jetbrains.kotlin.resolve.ExceptionWrappingKtVisitorVoid.visitDeclaration(ExceptionWrappingKtVisitorVoid.kt:32)