FIR: relax simple type requirement in AbstractTypeMapper

The counterparts in old FE don't have such restriction, so it can
map a type that has a flexible type as a type argument to JVM type,
e.g., Stream<String..String?>
This commit is contained in:
Jinseong Jeon
2021-06-07 23:16:47 -07:00
committed by TeamCityServer
parent 08e486d1a7
commit 4ec745abd7
5 changed files with 21 additions and 23 deletions
@@ -3,7 +3,11 @@ UFile (package = ) [import java.util.stream.Stream...]
UClass (name = LambdasKt) [public final class LambdasKt {...}]
UMethod (name = foo) [public static final fun foo() : void {...}]
UBlockExpression [{...}] : PsiType:NonExistentClass
[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION) [[!] UnknownKotlinExpression (DOT_QUALIFIED_EXPRESSION)]
UQualifiedReferenceExpression [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION).[!] UnknownKotlinExpression (CALL_EXPRESSION).[!] UnknownKotlinExpression (CALL_EXPRESSION)] : PsiType:NonExistentClass
UQualifiedReferenceExpression [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION).[!] UnknownKotlinExpression (CALL_EXPRESSION)] : PsiType:Stream<String>
[!] UnknownKotlinExpression (REFERENCE_EXPRESSION) [[!] UnknownKotlinExpression (REFERENCE_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
[!] UnknownKotlinExpression (CALL_EXPRESSION) [[!] UnknownKotlinExpression (CALL_EXPRESSION)]
UMethod (name = doSelectItem) [public static final fun doSelectItem(selectItemFunction: kotlin.jvm.functions.Function0<? extends kotlin.Unit>) : void {...}]
UParameter (name = selectItemFunction) [var selectItemFunction: kotlin.jvm.functions.Function0<? extends kotlin.Unit>]
UBlockExpression [{...}] : PsiType:NonExistentClass
@@ -7,12 +7,4 @@ package org.jetbrains.uast.test.kotlin
import org.jetbrains.uast.test.common.kotlin.FirLegacyUastTypesTestBase
abstract class AbstractFirLegacyUastTypesTest : AbstractFirUastTypesTest(), FirLegacyUastTypesTestBase {
private val whitelist : Set<String> = setOf(
// TODO: not able to map Stream<String?..String>
"plugins/uast-kotlin/testData/Lambdas.kt",
)
override fun isExpectedToFail(filePath: String): Boolean {
return filePath in whitelist
}
}
abstract class AbstractFirLegacyUastTypesTest : AbstractFirUastTypesTest(), FirLegacyUastTypesTestBase