From ab7ae180f9b5f38439a276822937db0ee97c8f69 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 12 Feb 2024 22:51:45 +0100 Subject: [PATCH] [LL FIR] add test data for data class from library ^KT-65763 --- .../testData/getOrBuildFirBinary/dataClass.kt | 14 +++++ .../getOrBuildFirBinary/dataClass.txt | 56 +++++++++++++++++++ .../LibraryGetOrBuildFirTestGenerated.java | 6 ++ 3 files changed, 76 insertions(+) create mode 100644 analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt create mode 100644 analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt new file mode 100644 index 00000000000..ac99c35d079 --- /dev/null +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt @@ -0,0 +1,14 @@ +// DECLARATION_TYPE: org.jetbrains.kotlin.psi.KtClass +// MAIN_FILE_NAME: MyDependency + +package one + +class A +class B +class C +class D + +data class MyDependency(val b: B, var d: D) { + val a: A get() = A() + val c: C get() = C() +} diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt new file mode 100644 index 00000000000..0a1b0c7eb08 --- /dev/null +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt @@ -0,0 +1,56 @@ +KT element: KtClass +KT element text: +public final data class MyDependency public constructor(b: one.B, d: one.D) { + public final val b: one.B /* compiled code */ + + public final var d: one.D /* compiled code */ + + public final val a: one.A /* compiled code */ + public final get + + public final val c: one.C /* compiled code */ + public final get + + public final operator fun component1(): one.B { /* compiled code */ } + + public final operator fun component2(): one.D { /* compiled code */ } + + public open operator fun equals(other: kotlin.Any?): kotlin.Boolean { /* compiled code */ } + + public open fun hashCode(): kotlin.Int { /* compiled code */ } + + public open fun toString(): kotlin.String { /* compiled code */ } +} +FIR element: FirRegularClassImpl +FIR source kind: KtRealSourceElementKind + +FIR element rendered: +public final data [ResolvedTo(BODY_RESOLVE)] class MyDependency : R|kotlin/Any| { + public final operator [ResolvedTo(BODY_RESOLVE)] fun component1(): R|one/B| + + public final operator [ResolvedTo(BODY_RESOLVE)] fun component2(): R|one/D| + + public final [ResolvedTo(BODY_RESOLVE)] fun copy([ResolvedTo(RAW_FIR)] b: R|one/B| = this@R|one/MyDependency|.R|one/MyDependency.b|, [ResolvedTo(RAW_FIR)] d: R|one/D| = this@R|one/MyDependency|.R|one/MyDependency.d|): R|one/MyDependency| + + public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| + + public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int| + + public open [ResolvedTo(BODY_RESOLVE)] fun toString(): R|kotlin/String| + + public final [ResolvedTo(BODY_RESOLVE)] val a: R|one/A| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyDependency] get(): R|one/A| + + public final [ResolvedTo(BODY_RESOLVE)] val b: R|one/B| + public [ResolvedTo(BODY_RESOLVE)] get(): R|one/B| + + public final [ResolvedTo(BODY_RESOLVE)] val c: R|one/C| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyDependency] get(): R|one/C| + + public final [ResolvedTo(BODY_RESOLVE)] var d: R|one/D| + public [ResolvedTo(BODY_RESOLVE)] get(): R|one/D| + public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|one/D|): R|kotlin/Unit| + + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyDependency] constructor([ResolvedTo(BODY_RESOLVE)] b: R|one/B|, [ResolvedTo(BODY_RESOLVE)] d: R|one/D|): R|one/MyDependency| + +} \ No newline at end of file diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/LibraryGetOrBuildFirTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/LibraryGetOrBuildFirTestGenerated.java index 3ecc6c85b20..96f8ddb30b2 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/LibraryGetOrBuildFirTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/LibraryGetOrBuildFirTestGenerated.java @@ -24,6 +24,12 @@ public class LibraryGetOrBuildFirTestGenerated extends AbstractLibraryGetOrBuild KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary"), Pattern.compile("^(.+)\\.kt$"), null, true); } + @Test + @TestMetadata("dataClass.kt") + public void testDataClass() throws Exception { + runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt"); + } + @Test @TestMetadata("delegate.kt") public void testDelegate() throws Exception {