[FIR] Add test for qualifier resolve priority
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
class A {
|
||||||
|
object B {
|
||||||
|
object C {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
companion object {
|
||||||
|
val B = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val ab = A.B // property
|
||||||
|
val abc = A.B.<!UNRESOLVED_REFERENCE!>C<!> // object
|
||||||
|
|
||||||
|
object D {
|
||||||
|
class E {
|
||||||
|
object F {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val D.E get() = ""
|
||||||
|
|
||||||
|
val def = D.E.F // object
|
||||||
|
val de = D.E // extension
|
||||||
|
|
||||||
|
enum class G {
|
||||||
|
H;
|
||||||
|
companion object {
|
||||||
|
val H = ""
|
||||||
|
|
||||||
|
fun values(): Int = 42
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val gh = G.<!AMBIGUITY!>H<!> // companion property
|
||||||
|
val gv = G.<!AMBIGUITY!>values<!>() // static function
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
FILE: qualifierPriority.kt
|
||||||
|
public final class A : R|kotlin/Any| {
|
||||||
|
public constructor(): R|A| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final object B : R|kotlin/Any| {
|
||||||
|
private constructor(): R|A.B| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final object C : R|kotlin/Any| {
|
||||||
|
private constructor(): R|A.B.C| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
|
private constructor(): R|A.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final val B: R|kotlin/String| = String()
|
||||||
|
public get(): R|kotlin/String|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final val ab: R|kotlin/String| = Q|A|.R|/A.Companion.B|
|
||||||
|
public get(): R|kotlin/String|
|
||||||
|
public final val abc: <ERROR TYPE REF: Unresolved name: C> = Q|A|.R|/A.Companion.B|.<Unresolved name: C>#
|
||||||
|
public get(): <ERROR TYPE REF: Unresolved name: C>
|
||||||
|
public final object D : R|kotlin/Any| {
|
||||||
|
private constructor(): R|D| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class E : R|kotlin/Any| {
|
||||||
|
public constructor(): R|D.E| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final object F : R|kotlin/Any| {
|
||||||
|
private constructor(): R|D.E.F| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final val R|D|.E: R|kotlin/String|
|
||||||
|
public get(): R|kotlin/String| {
|
||||||
|
^ String()
|
||||||
|
}
|
||||||
|
public final val def: R|D.E.F| = Q|D.E.F|
|
||||||
|
public get(): R|D.E.F|
|
||||||
|
public final val de: R|kotlin/Unit| = Q|D.E|
|
||||||
|
public get(): R|kotlin/Unit|
|
||||||
|
public final enum class G : R|kotlin/Enum<G>| {
|
||||||
|
private constructor(): R|G| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final static enum entry H: R|G| = object : R|G| {
|
||||||
|
private constructor(): R|anonymous| {
|
||||||
|
super<R|G|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
|
private constructor(): R|G.Companion| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final val H: R|kotlin/String| = String()
|
||||||
|
public get(): R|kotlin/String|
|
||||||
|
|
||||||
|
public final fun values(): R|kotlin/Int| {
|
||||||
|
^values Int(42)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final static fun values(): R|kotlin/Array<G>| {
|
||||||
|
}
|
||||||
|
|
||||||
|
public final static fun valueOf(value: R|kotlin/String|): R|G| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final val gh: <ERROR TYPE REF: Ambiguity: H, [/G.H, /G.Companion.H]> = Q|G|.<Ambiguity: H, [/G.H, /G.Companion.H]>#
|
||||||
|
public get(): <ERROR TYPE REF: Ambiguity: H, [/G.H, /G.Companion.H]>
|
||||||
|
public final val gv: <ERROR TYPE REF: Ambiguity: values, [/G.values, /G.Companion.values]> = Q|G|.<Ambiguity: values, [/G.values, /G.Companion.values]>#()
|
||||||
|
public get(): <ERROR TYPE REF: Ambiguity: values, [/G.values, /G.Companion.values]>
|
||||||
+5
@@ -604,6 +604,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
|||||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt");
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("qualifierPriority.kt")
|
||||||
|
public void testQualifierPriority() throws Exception {
|
||||||
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifierPriority.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("receiverConsistency.kt")
|
@TestMetadata("receiverConsistency.kt")
|
||||||
public void testReceiverConsistency() throws Exception {
|
public void testReceiverConsistency() throws Exception {
|
||||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt");
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt");
|
||||||
|
|||||||
Generated
+5
@@ -604,6 +604,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
|
|||||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt");
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("qualifierPriority.kt")
|
||||||
|
public void testQualifierPriority() throws Exception {
|
||||||
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifierPriority.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("receiverConsistency.kt")
|
@TestMetadata("receiverConsistency.kt")
|
||||||
public void testReceiverConsistency() throws Exception {
|
public void testReceiverConsistency() throws Exception {
|
||||||
runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt");
|
runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user