提交 47687006 编写于 作者: M Mikhail Glukhikh

FIR error repro: property type mismatch in override from light classes

上级 b6f1a442
FILE: lightMember.kt
public abstract interface PsiMember : R|kotlin/Any| {
}
public abstract interface PsiField : R|PsiMember| {
}
public abstract class LightMemberImpl<out D : R|PsiMember|> : R|kotlin/Any| {
public constructor<out D : R|PsiMember|>(computeRealDelegate: R|() -> D|): R|LightMemberImpl<D>| {
super<R|kotlin/Any|>()
}
public open val delegate: R|D|by R|kotlin/lazy|<R|D|>(R|<local>/computeRealDelegate|)
public get(): R|D| {
^ this@R|/LightMemberImpl|.D|/LightMemberImpl.delegate|.R|kotlin/getValue|<R|D|>(this@R|/LightMemberImpl|, ::R|/LightMemberImpl.delegate|)
}
}
public abstract class LightFieldImpl<D : R|PsiField|> : R|LightMemberImpl<PsiField>| {
public constructor<D : R|PsiField|>(computeRealDelegate: R|() -> D|): R|LightFieldImpl<D>| {
super<R|LightMemberImpl<PsiField>|>(R|<local>/computeRealDelegate|)
}
public open override val delegate: R|D|
public get(): R|D| {
^ this@R|/LightFieldImpl|.super<R|LightMemberImpl<PsiField>|>.R|SubstitutionOverride</LightMemberImpl.delegate: R|PsiField|>|
}
}
interface PsiMember
interface PsiField : PsiMember
abstract class LightMemberImpl<out D : PsiMember>(computeRealDelegate: () -> D) {
open val delegate by lazy(computeRealDelegate)
}
abstract class LightFieldImpl<D : PsiField>(computeRealDelegate: () -> D) : LightMemberImpl<PsiField>(computeRealDelegate) {
override val delegate: <!PROPERTY_TYPE_MISMATCH_ON_OVERRIDE!>D<!>
get() = super.delegate
}
\ No newline at end of file
......@@ -5151,6 +5151,12 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest {
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KJKComplexHierarchyNestedLoop.kt");
}
@Test
@TestMetadata("lightMember.kt")
public void testLightMember() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/lightMember.kt");
}
@Test
@TestMetadata("qualifierPriority.kt")
public void testQualifierPriority() throws Exception {
......
......@@ -5225,6 +5225,12 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KJKComplexHierarchyNestedLoop.kt");
}
@Test
@TestMetadata("lightMember.kt")
public void testLightMember() throws Exception {
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/lightMember.kt");
}
@Test
@TestMetadata("qualifierPriority.kt")
public void testQualifierPriority() throws Exception {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册