KT-1436 Nicer compiler errors when the feature isn't supported
This commit is contained in:
committed by
teamcity
parent
e6900ec0f2
commit
1215ae0fe7
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
// FIR_IDENTICAL
|
||||
// LANGUAGE: -BreakContinueInInlineLambdas
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_ERRORS
|
||||
// WITH_STDLIB
|
||||
|
||||
inline fun foo(block: () -> Unit) { block() }
|
||||
|
||||
inline fun bar(block1: () -> Unit, noinline block2: () -> Unit, crossinline block3: () -> Unit = {}) {
|
||||
block1()
|
||||
block2()
|
||||
block3()
|
||||
}
|
||||
|
||||
fun test1() {
|
||||
while (true) {
|
||||
foo { <!UNSUPPORTED_FEATURE!>break<!> }
|
||||
foo { <!UNSUPPORTED_FEATURE!>continue<!> }
|
||||
foo(fun () { <!UNSUPPORTED_FEATURE!>break<!> })
|
||||
foo(fun () { <!UNSUPPORTED_FEATURE!>continue<!> })
|
||||
}
|
||||
}
|
||||
|
||||
fun test2() {
|
||||
while (true) {
|
||||
bar({<!UNSUPPORTED_FEATURE!>break<!>}, {})
|
||||
bar({<!UNSUPPORTED_FEATURE!>continue<!>}, {})
|
||||
|
||||
bar(fun () {<!UNSUPPORTED_FEATURE!>break<!>}, fun () {})
|
||||
bar(fun () {<!UNSUPPORTED_FEATURE!>continue<!>}, fun () {})
|
||||
}
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
while (true) {
|
||||
bar({}, { <!BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY!>break<!> }, { <!BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY!>break<!> })
|
||||
bar({}, { <!BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY!>continue<!> }, { <!BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY!>break<!> })
|
||||
}
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
package
|
||||
|
||||
public inline fun bar(/*0*/ block1: () -> kotlin.Unit, /*1*/ noinline block2: () -> kotlin.Unit, /*2*/ crossinline block3: () -> kotlin.Unit = ...): kotlin.Unit
|
||||
public inline fun foo(/*0*/ block: () -> kotlin.Unit): kotlin.Unit
|
||||
public fun test1(): kotlin.Unit
|
||||
public fun test2(): kotlin.Unit
|
||||
public fun test3(): kotlin.Unit
|
||||
|
||||
Reference in New Issue
Block a user