FE: fix PlainJavaClassifierType.isRaw (take inner classes into account)
#KT-64090 Fixed
This commit is contained in:
committed by
Space Team
parent
d5b784805b
commit
050d74a22e
+11
-3
@@ -39,9 +39,17 @@ internal class PlainJavaClassifierType(
|
|||||||
private val classifierResolverResult by lazy(LazyThreadSafetyMode.NONE, classifierComputation)
|
private val classifierResolverResult by lazy(LazyThreadSafetyMode.NONE, classifierComputation)
|
||||||
|
|
||||||
override val classifier get() = classifierResolverResult.classifier
|
override val classifier get() = classifierResolverResult.classifier
|
||||||
override val isRaw
|
override val isRaw: Boolean
|
||||||
get() = typeArguments.isEmpty() &&
|
get() {
|
||||||
(classifierResolverResult.classifier as? JavaClass)?.typeParameters?.isNotEmpty() == true
|
if (typeArguments.isNotEmpty()) return false
|
||||||
|
var javaClass = classifierResolverResult.classifier as? JavaClass
|
||||||
|
while (javaClass != null) {
|
||||||
|
if (javaClass.typeParameters.isNotEmpty()) return true
|
||||||
|
if (javaClass.isStatic) return false
|
||||||
|
javaClass = javaClass.outerClass
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
override val classifierQualifiedName: String
|
override val classifierQualifiedName: String
|
||||||
get() = classifierResolverResult.qualifiedName
|
get() = classifierResolverResult.qualifiedName
|
||||||
|
|||||||
Vendored
-1
@@ -1,5 +1,4 @@
|
|||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// IGNORE_BACKEND_K2: JVM_IR
|
|
||||||
// ISSUE: KT-64090
|
// ISSUE: KT-64090
|
||||||
|
|
||||||
// MODULE: lib
|
// MODULE: lib
|
||||||
|
|||||||
Reference in New Issue
Block a user