Expected return type is in use now during function literal analysis #KT-9134 Fixed

This commit is contained in:
Mikhail Glukhikh
2015-09-11 21:01:05 +03:00
parent 65b77558a1
commit 7dbd5b75cc
10 changed files with 76 additions and 5 deletions
@@ -0,0 +1,6 @@
// See KT-9134: smart cast is not provided inside lambda call
fun bar(): Int = {
var i: Int?
i = 42
<!DEBUG_INFO_SMARTCAST!>i<!>
}()
@@ -0,0 +1,3 @@
package
public fun bar(): kotlin.Int
@@ -0,0 +1,10 @@
// See KT-9134: smart cast is not provided inside lambda call
@Target(AnnotationTarget.EXPRESSION)
annotation class My
fun bar(): Int = @My {
var i: Int?
i = 42
<!DEBUG_INFO_SMARTCAST!>i<!>
}()
@@ -0,0 +1,10 @@
package
public fun bar(): kotlin.Int
kotlin.annotation.Target(allowedTargets = {AnnotationTarget.EXPRESSION}) kotlin.annotation.annotation() public final class My : kotlin.Annotation {
public constructor My()
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
}