[LL] Add getOrBuildFir test for deserialized enum entry annotation argument
- The `getOrBuildFir` test clearly shows the difference between the unresolved enum entry and the resolved one (see the next commit). ^KT-63330
This commit is contained in:
committed by
Space Team
parent
acf828621a
commit
a38d613dc3
Vendored
+25
@@ -0,0 +1,25 @@
|
|||||||
|
// KT-63330
|
||||||
|
// SKIP_WHEN_OUT_OF_CONTENT_ROOT
|
||||||
|
|
||||||
|
// MODULE: library1
|
||||||
|
// MODULE_KIND: LibraryBinary
|
||||||
|
// FILE: EnumClass.kt
|
||||||
|
enum class EnumClass {
|
||||||
|
First, Second
|
||||||
|
}
|
||||||
|
|
||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class Anno(val enumEntry: EnumClass)
|
||||||
|
|
||||||
|
// MODULE: library2(library1)
|
||||||
|
// MODULE_KIND: LibraryBinary
|
||||||
|
// FILE: Usage.kt
|
||||||
|
class Usage
|
||||||
|
|
||||||
|
val usage: @Anno(EnumClass.First) Usage = Usage()
|
||||||
|
|
||||||
|
// MODULE: main(library1, library2)
|
||||||
|
// FILE: main.kt
|
||||||
|
fun foo() {
|
||||||
|
<expr>val x = usage</expr>
|
||||||
|
}
|
||||||
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
KT element: KtProperty
|
||||||
|
FIR element: FirPropertyImpl
|
||||||
|
FIR source kind: KtRealSourceElementKind
|
||||||
|
|
||||||
|
FIR element rendered:
|
||||||
|
[ResolvedTo(BODY_RESOLVE)] lval x: R|@R|Anno|(enumEntry = ) Usage| = R|/usage|
|
||||||
|
|
||||||
|
FIR FILE:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] main.kt
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
|
||||||
|
[ResolvedTo(BODY_RESOLVE)] lval x: R|@R|Anno|(enumEntry = ) Usage| = R|/usage|
|
||||||
|
}
|
||||||
+16
@@ -610,6 +610,22 @@ public class OutOfContentRootGetOrBuildFirTestGenerated extends AbstractOutOfCon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Deserialized {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDeserialized() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotationWithEnumEntryArgument.kt")
|
||||||
|
public void testAnnotationWithEnumEntryArgument() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized/annotationWithEnumEntryArgument.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+10
@@ -412,6 +412,16 @@ public class ScriptGetOrBuildFirTestGenerated extends AbstractScriptGetOrBuildFi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Deserialized {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDeserialized() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized"), Pattern.compile("^(.+)\\.(kts)$"), null, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+16
@@ -610,6 +610,22 @@ public class SourceGetOrBuildFirTestGenerated extends AbstractSourceGetOrBuildFi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Deserialized {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDeserialized() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotationWithEnumEntryArgument.kt")
|
||||||
|
public void testAnnotationWithEnumEntryArgument() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/deserialized/annotationWithEnumEntryArgument.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFir/destructuring")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
Reference in New Issue
Block a user