K2: add test for KT-56520, case (3), class literals
Again, both frontends here ignored classifiers from explicit star imported scope (some.HashMap, java.util.HashMap) because of their ambiguity. In case of K2, it works so due to logic in BodyResolveComponents.resolveRootPartOfQualifier. This function is called to resolve qualifier without receiver, in case it's used as a receiver itself (::class counts as a selector equivalent).
This commit is contained in:
committed by
Space Team
parent
6fb88102a5
commit
22d083a7a9
+4
@@ -0,0 +1,4 @@
|
||||
FILE: test.kt
|
||||
public final fun test(): R|kotlin/reflect/KClass<kotlin/collections/HashMap<*, *>>| {
|
||||
^test <getClass>(Q|kotlin/collections/HashMap|)
|
||||
}
|
||||
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-56520 (case 3)
|
||||
// FIR_DUMP
|
||||
// FULL_JDK
|
||||
|
||||
// FILE: some/HashMap.java
|
||||
|
||||
package some;
|
||||
|
||||
public class HashMap<K, V> extends java.util.HashMap<K, V> {}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
import java.util.*
|
||||
import some.*
|
||||
|
||||
// K1: misses both some.HashMap and java.util.HashMap due to ambiguous classifiers, takes kotlin.collections.HashMap from the next scope
|
||||
// K2: works the same way currently. See logic in BodyResolveComponents.resolveRootPartOfQualifier
|
||||
fun test() = HashMap::class
|
||||
Reference in New Issue
Block a user