fadde98a86
Consider the code below
```
fun test() {
a@ b@ {
{}
}
}
```
Currently when the code is converted to FIR, label `b` is bound to the
outer lambda and `a` gets bound to the inner lambda because it's not
consumed. This is wrong and also leads transfromation to fail with
exceptions because of the unexpected consumption of `a`.
This change fixes the above issue by designating a specific node in the
AST as the allowed user of a label when the label is added.
23 lines
1.2 KiB
Plaintext
Vendored
23 lines
1.2 KiB
Plaintext
Vendored
package
|
|
|
|
public fun testAnnotatedLambdaLabel(): () -> kotlin.Unit
|
|
public fun testAnonymousFunctionLabel(): () -> kotlin.Unit
|
|
public fun testFunctionName(): kotlin.Unit
|
|
public fun testHighOrderFunctionCallLabelInReturn(): kotlin.Unit
|
|
public fun testHighOrderFunctionName(): kotlin.Unit
|
|
public fun testLambdaLabel(): () -> kotlin.Unit
|
|
public fun testLambdaMultipleLabels1(): () -> kotlin.Unit
|
|
public fun testLambdaMultipleLabels2(): () -> kotlin.Unit
|
|
public fun testLoopLabelInReturn(/*0*/ xs: kotlin.collections.List<kotlin.Int>): kotlin.Unit
|
|
public fun testMultipleLabelsWithNestedLambda(): kotlin.Unit
|
|
public fun testParenthesizedLambdaLabel(): () -> kotlin.Unit
|
|
public fun testValLabelInReturn(): kotlin.Unit
|
|
|
|
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Ann : kotlin.Annotation {
|
|
public constructor Ann()
|
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
}
|
|
|