Uast: ULambdaExpression returns proper functionalInterfaceType for SamAdapterExtensionFunctionDescriptor (KT-25297)

This commit is contained in:
Nicolay Mitropolsky
2018-07-07 11:13:48 +03:00
committed by xiexed
parent 2c7687195c
commit dd0e3cd135
4 changed files with 23 additions and 2 deletions
@@ -371,6 +371,10 @@ class KotlinUastApiTest : AbstractKotlinUastTest() {
fun testUtilsStreamLambda() {
doTest("Lambdas") { _, file ->
val lambda = file.findElementByTextFromPsi<ULambdaExpression>("{ it.isEmpty() }")
assertEquals(
"java.util.function.Predicate<? super java.lang.String>",
lambda.functionalInterfaceType?.canonicalText
)
assertEquals(
"kotlin.jvm.functions.Function1<? super java.lang.String,? extends java.lang.Boolean>",
lambda.getExpressionType()?.canonicalText
@@ -220,6 +220,10 @@ class KotlinUastApiTest : AbstractKotlinUastTest() {
fun testUtilsStreamLambda() {
doTest("Lambdas") { _, file ->
val lambda = file.findElementByTextFromPsi<ULambdaExpression>("{ it.isEmpty() }")
assertEquals(
"java.util.function.Predicate<? super java.lang.String>",
lambda.functionalInterfaceType?.canonicalText
)
assertEquals(
"kotlin.jvm.functions.Function1<? super java.lang.String,? extends java.lang.Boolean>",
lambda.getExpressionType()?.canonicalText
@@ -335,6 +335,10 @@ class KotlinUastApiTest : AbstractKotlinUastTest() {
fun testUtilsStreamLambda() {
doTest("Lambdas") { _, file ->
val lambda = file.findElementByTextFromPsi<ULambdaExpression>("{ it.isEmpty() }")
assertEquals(
"java.util.function.Predicate<? super java.lang.String>",
lambda.functionalInterfaceType?.canonicalText
)
assertEquals(
"kotlin.jvm.functions.Function1<? super java.lang.String,? extends java.lang.Boolean>",
lambda.getExpressionType()?.canonicalText