FIR: Add problem tests for smart cast within init-section
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
interface I
|
||||
interface S : I {
|
||||
fun foo()
|
||||
}
|
||||
|
||||
fun s(): S = TODO()
|
||||
|
||||
class Main {
|
||||
private val x: I
|
||||
init {
|
||||
x = s()
|
||||
x.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
FILE: smartCastInInit.kt
|
||||
public abstract interface I : R|kotlin/Any| {
|
||||
}
|
||||
public abstract interface S : R|I| {
|
||||
public abstract fun foo(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final fun s(): R|S| {
|
||||
^s R|kotlin/TODO|()
|
||||
}
|
||||
public final class Main : R|kotlin/Any| {
|
||||
public constructor(): R|Main| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final val x: R|I|
|
||||
private get(): R|I|
|
||||
|
||||
init {
|
||||
this@R|/Main|.R|/Main.x| = R|/s|()
|
||||
this@R|/Main|.R|/Main.x|.<Unresolved name: foo>#()
|
||||
}
|
||||
|
||||
}
|
||||
+5
@@ -1166,6 +1166,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/samConversionInConstructorCall.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("smartCastInInit.kt")
|
||||
public void testSmartCastInInit() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/smartCastInInit.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("syntheticsVsNormalProperties.kt")
|
||||
public void testSyntheticsVsNormalProperties() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/syntheticsVsNormalProperties.kt");
|
||||
|
||||
Generated
+5
@@ -1166,6 +1166,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/samConversionInConstructorCall.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("smartCastInInit.kt")
|
||||
public void testSmartCastInInit() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/smartCastInInit.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("syntheticsVsNormalProperties.kt")
|
||||
public void testSyntheticsVsNormalProperties() throws Exception {
|
||||
runTest("compiler/fir/resolve/testData/resolve/problems/syntheticsVsNormalProperties.kt");
|
||||
|
||||
Reference in New Issue
Block a user