Error on 'if' without an 'else' branch when used as an expression
This commit is contained in:
@@ -42,19 +42,20 @@ public fun parseFunction(code: String, offset: Int, reporter: ErrorReporter, sco
|
||||
private class FunctionParsingObserver : Observer {
|
||||
var functionsStarted = 0
|
||||
|
||||
override fun update(o: Observable?, arg: Any?): Unit =
|
||||
when (arg) {
|
||||
is ParserEvents.OnFunctionParsingStart -> {
|
||||
functionsStarted++
|
||||
}
|
||||
is ParserEvents.OnFunctionParsingEnd -> {
|
||||
functionsStarted--
|
||||
override fun update(o: Observable?, arg: Any?) {
|
||||
when (arg) {
|
||||
is ParserEvents.OnFunctionParsingStart -> {
|
||||
functionsStarted++
|
||||
}
|
||||
is ParserEvents.OnFunctionParsingEnd -> {
|
||||
functionsStarted--
|
||||
|
||||
if (functionsStarted == 0) {
|
||||
arg.tokenStream.ungetToken(TokenStream.EOF)
|
||||
}
|
||||
if (functionsStarted == 0) {
|
||||
arg.tokenStream.ungetToken(TokenStream.EOF)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun bar(s: String, value: Boolean): Boolean {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = if (true || if(bar("A", false)) {2} else {3} == 0) { }
|
||||
val a = if (true || if(bar("A", false)) {2} else {3} == 0) true else false
|
||||
assertEquals("", global)
|
||||
|
||||
true || if(bar("A", false)) {2} else {3} == 0
|
||||
|
||||
Reference in New Issue
Block a user