[Analysis API] add diagnostic tests for unresolved reference inside primary constructor

^KT-62437
This commit is contained in:
Dmitrii Gridin
2023-10-10 13:13:18 +02:00
committed by Space Team
parent 45a59f0a55
commit 1a01dd4dd4
32 changed files with 489 additions and 3 deletions
@@ -0,0 +1,13 @@
// LOOK_UP_FOR_ELEMENT_OF_TYPE: org.jetbrains.kotlin.psi.KtAnnotationEntry
<expr>@Anno</expr>
enum class MyClass(val i: Int = foo()) {
ENTRY1,
ENTRY2(42);
fun boo(a: String) {
}
}
fun foo() = 42
@@ -0,0 +1,32 @@
KT element: KtAnnotationEntry
FIR element: FirAnnotationCallImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
@<ERROR TYPE REF: Symbol not found for Anno>[Types]()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] annotationOnEnumClass.kt
@<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] enum class MyClass : R|kotlin/Enum<MyClass>| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/MyClass.i] i: Int = LAZY_EXPRESSION): R|MyClass| {
LAZY_super<R|kotlin/Enum<MyClass>|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val i: Int = R|<local>/i|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] get(): Int
public final static [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] enum entry ENTRY1: R|MyClass| = LAZY_EXPRESSION
public final static [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] enum entry ENTRY2: R|MyClass| = LAZY_EXPRESSION
public? final? [ResolvedTo(RAW_FIR)] fun boo([ResolvedTo(RAW_FIR)] a: String): R|kotlin/Unit| { LAZY_BLOCK }
public final static [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] fun values(): R|kotlin/Array<MyClass>| {
}
public final static [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] fun valueOf([ResolvedTo(RAW_FIR)] value: R|kotlin/String|): R|MyClass| {
}
public final static [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] val entries: R|kotlin/enums/EnumEntries<MyClass>|
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/enums/EnumEntries<MyClass>|
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> { LAZY_BLOCK }