Ki-shell and if

Hi,

I trie this script :

var a = 18
var b = 19
var c = if (a>17) b else a
println(c)

and I runned it using kotlinc -script if_test1.kts
result is 19

I tried this and just after typing b (vithout enter) I have got this error :

ki-shell 0.4.5/1.6.10
type :h for help
[0] var a = 18
[1] var b = 19
[2] var c = if (a>17) b
java.lang.NullPointerException
        at org.jetbrains.kotlinx.ki.shell.parser.KotlinParserListenerForHighlighting.exitIfExpression(KotlinParserListenerForHighlighting.kt:679)
        at org.jetbrains.kotlinx.ki.shell.parser.KotlinParser$IfExpressionContext.exitRule(KotlinParser.java:13491)
        at org.antlr.v4.runtime.Parser.triggerExitRuleEvent(Parser.java:408)
        at org.antlr.v4.runtime.Parser.exitRule(Parser.java:642)
        at org.jetbrains.kotlinx.ki.shell.parser.KotlinParser.script(KotlinParser.java:514)
        at org.jetbrains.kotlinx.ki.shell.plugins.KotlinHighlighter.buildHighlighting(KotlinHighlighter.kt:39)
        at org.jetbrains.kotlinx.ki.shell.plugins.KotlinHighlighter.highlight(KotlinHighlighter.kt:20)
        at org.jetbrains.kotlinx.ki.shell.plugins.BaseHighlighter$DefaultImpls.highlight$default(BaseHighlighter.kt:8)
        at org.jetbrains.kotlinx.ki.shell.plugins.BaseHighlighter$DefaultImpls.highlight(BaseHighlighter.kt:11)
        at org.jetbrains.kotlinx.ki.shell.plugins.KotlinHighlighter.highlight(KotlinHighlighter.kt:13)
        at org.jetbrains.kotlinx.ki.shell.ContextHighlighter.highlight(ContextHighlighter.kt:16)
        at org.jline.reader.impl.LineReaderImpl.getHighlightedBuffer(LineReaderImpl.java:4041)
        at org.jline.reader.impl.LineReaderImpl.getDisplayedBufferWithPrompts(LineReaderImpl.java:3980)
        at org.jline.reader.impl.LineReaderImpl.redisplay(LineReaderImpl.java:3848)
        at org.jline.reader.impl.LineReaderImpl.redisplay(LineReaderImpl.java:3784)
        at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:708)
        at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:468)
        at org.jetbrains.kotlinx.ki.shell.Shell.doRun(Shell.kt:205)
        at org.jetbrains.kotlinx.ki.shell.KotlinShell.main(KotlinShell.kt:52)
[2]

What’s wrong here?

It is a bug. Please report it.

2 Likes