diff --git a/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt deleted file mode 100644 index dc4988e..0000000 --- a/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt +++ /dev/null @@ -1,86 +0,0 @@ -FILE: no-copy-scope.kt - package com.javiersc.kotlin.kopy.playground - - public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) - lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|kotlin/apply|( = apply@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) - } - ) - } - public final data class Qux : R|kotlin/Any| { - public constructor(number: R|kotlin/Int|): R|com/javiersc/kotlin/kopy/playground/Qux| { - super() - } - - public final val number: R|kotlin/Int| = R|/number| - public get(): R|kotlin/Int| - - public final operator fun component1(): R|kotlin/Int| - - public final fun copy(number: R|kotlin/Int| = this@R|com/javiersc/kotlin/kopy/playground/Qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|): R|com/javiersc/kotlin/kopy/playground/Qux| - - } - public final data class Baz : R|kotlin/Any| { - public constructor(qux: R|com/javiersc/kotlin/kopy/playground/Qux|, text: R|kotlin/String|): R|com/javiersc/kotlin/kopy/playground/Baz| { - super() - } - - public final val qux: R|com/javiersc/kotlin/kopy/playground/Qux| = R|/qux| - public get(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final val text: R|kotlin/String| = R|/text| - public get(): R|kotlin/String| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final operator fun component2(): R|kotlin/String| - - public final fun copy(qux: R|com/javiersc/kotlin/kopy/playground/Qux| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|, text: R|kotlin/String| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.text|): R|com/javiersc/kotlin/kopy/playground/Baz| - - } - public final data class Bar : R|kotlin/Any| { - public constructor(baz: R|com/javiersc/kotlin/kopy/playground/Baz|, isValid: R|kotlin/Boolean|): R|com/javiersc/kotlin/kopy/playground/Bar| { - super() - } - - public final val baz: R|com/javiersc/kotlin/kopy/playground/Baz| = R|/baz| - public get(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final val isValid: R|kotlin/Boolean| = R|/isValid| - public get(): R|kotlin/Boolean| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final operator fun component2(): R|kotlin/Boolean| - - public final fun copy(baz: R|com/javiersc/kotlin/kopy/playground/Baz| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|, isValid: R|kotlin/Boolean| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.isValid|): R|com/javiersc/kotlin/kopy/playground/Bar| - - } - @R|com/javiersc/kotlin/kopy/Kopy|() public final data class Foo : R|kotlin/Any|, R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - public constructor(bar: R|com/javiersc/kotlin/kopy/playground/Bar|, letter: R|kotlin/Char|): R|com/javiersc/kotlin/kopy/playground/Foo| { - super() - } - - public final val bar: R|com/javiersc/kotlin/kopy/playground/Bar| = R|/bar| - public get(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final val letter: R|kotlin/Char| = R|/letter| - public get(): R|kotlin/Char| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final operator fun component2(): R|kotlin/Char| - - public final fun copy(bar: R|com/javiersc/kotlin/kopy/playground/Bar| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|, letter: R|kotlin/Char| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.letter|): R|com/javiersc/kotlin/kopy/playground/Foo| - - public open override fun _initKopyable(): R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - } - - public open override val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| - - } diff --git a/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt deleted file mode 100644 index 28a1f7a..0000000 --- a/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt +++ /dev/null @@ -1,100 +0,0 @@ -FILE: no-immediate-copy-scope.kt - package com.javiersc.kotlin.kopy.playground - - public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) - lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - R|/foo0|.R|kotlin/apply|( = apply@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) - } - ) - } - ) - lval foo22: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - this@R|special/anonymous|.R|kotlin/apply|( = apply@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) - } - ) - } - ) - lval foo23: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) - } - ) - } - public final data class Qux : R|kotlin/Any| { - public constructor(number: R|kotlin/Int|): R|com/javiersc/kotlin/kopy/playground/Qux| { - super() - } - - public final val number: R|kotlin/Int| = R|/number| - public get(): R|kotlin/Int| - - public final operator fun component1(): R|kotlin/Int| - - public final fun copy(number: R|kotlin/Int| = this@R|com/javiersc/kotlin/kopy/playground/Qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|): R|com/javiersc/kotlin/kopy/playground/Qux| - - } - public final data class Baz : R|kotlin/Any| { - public constructor(qux: R|com/javiersc/kotlin/kopy/playground/Qux|, text: R|kotlin/String|): R|com/javiersc/kotlin/kopy/playground/Baz| { - super() - } - - public final val qux: R|com/javiersc/kotlin/kopy/playground/Qux| = R|/qux| - public get(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final val text: R|kotlin/String| = R|/text| - public get(): R|kotlin/String| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final operator fun component2(): R|kotlin/String| - - public final fun copy(qux: R|com/javiersc/kotlin/kopy/playground/Qux| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|, text: R|kotlin/String| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.text|): R|com/javiersc/kotlin/kopy/playground/Baz| - - } - public final data class Bar : R|kotlin/Any| { - public constructor(baz: R|com/javiersc/kotlin/kopy/playground/Baz|, isValid: R|kotlin/Boolean|): R|com/javiersc/kotlin/kopy/playground/Bar| { - super() - } - - public final val baz: R|com/javiersc/kotlin/kopy/playground/Baz| = R|/baz| - public get(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final val isValid: R|kotlin/Boolean| = R|/isValid| - public get(): R|kotlin/Boolean| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final operator fun component2(): R|kotlin/Boolean| - - public final fun copy(baz: R|com/javiersc/kotlin/kopy/playground/Baz| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|, isValid: R|kotlin/Boolean| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.isValid|): R|com/javiersc/kotlin/kopy/playground/Bar| - - } - @R|com/javiersc/kotlin/kopy/Kopy|() public final data class Foo : R|kotlin/Any|, R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - public constructor(bar: R|com/javiersc/kotlin/kopy/playground/Bar|, letter: R|kotlin/Char|): R|com/javiersc/kotlin/kopy/playground/Foo| { - super() - } - - public final val bar: R|com/javiersc/kotlin/kopy/playground/Bar| = R|/bar| - public get(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final val letter: R|kotlin/Char| = R|/letter| - public get(): R|kotlin/Char| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final operator fun component2(): R|kotlin/Char| - - public final fun copy(bar: R|com/javiersc/kotlin/kopy/playground/Bar| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|, letter: R|kotlin/Char| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.letter|): R|com/javiersc/kotlin/kopy/playground/Foo| - - public open override fun _initKopyable(): R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - } - - public open override val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| - - } diff --git a/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt deleted file mode 100644 index d55380a..0000000 --- a/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt +++ /dev/null @@ -1,96 +0,0 @@ -FILE: no-nest-copy-set.kt - package com.javiersc.kotlin.kopy.playground - - public final fun diagnostics(): R|kotlin/String| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) - lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { - (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) - } - ) - lval isOk: R|kotlin/Boolean| = ==(R|/foo21|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|, Int(42)) - ^diagnostics when () { - R|/isOk| -> { - String(OK) - } - else -> { - (String(Fail: number is ), R|/foo21|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|, String( instead of 42)) - } - } - - } - public final data class Qux : R|kotlin/Any| { - public constructor(number: R|kotlin/Int|): R|com/javiersc/kotlin/kopy/playground/Qux| { - super() - } - - public final val number: R|kotlin/Int| = R|/number| - public get(): R|kotlin/Int| - - public final operator fun component1(): R|kotlin/Int| - - public final fun copy(number: R|kotlin/Int| = this@R|com/javiersc/kotlin/kopy/playground/Qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|): R|com/javiersc/kotlin/kopy/playground/Qux| - - } - public final data class Baz : R|kotlin/Any| { - public constructor(qux: R|com/javiersc/kotlin/kopy/playground/Qux|, text: R|kotlin/String|): R|com/javiersc/kotlin/kopy/playground/Baz| { - super() - } - - public final val qux: R|com/javiersc/kotlin/kopy/playground/Qux| = R|/qux| - public get(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final val text: R|kotlin/String| = R|/text| - public get(): R|kotlin/String| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Qux| - - public final operator fun component2(): R|kotlin/String| - - public final fun copy(qux: R|com/javiersc/kotlin/kopy/playground/Qux| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|, text: R|kotlin/String| = this@R|com/javiersc/kotlin/kopy/playground/Baz|.R|com/javiersc/kotlin/kopy/playground/Baz.text|): R|com/javiersc/kotlin/kopy/playground/Baz| - - } - public final data class Bar : R|kotlin/Any| { - public constructor(baz: R|com/javiersc/kotlin/kopy/playground/Baz|, isValid: R|kotlin/Boolean|): R|com/javiersc/kotlin/kopy/playground/Bar| { - super() - } - - public final val baz: R|com/javiersc/kotlin/kopy/playground/Baz| = R|/baz| - public get(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final val isValid: R|kotlin/Boolean| = R|/isValid| - public get(): R|kotlin/Boolean| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Baz| - - public final operator fun component2(): R|kotlin/Boolean| - - public final fun copy(baz: R|com/javiersc/kotlin/kopy/playground/Baz| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|, isValid: R|kotlin/Boolean| = this@R|com/javiersc/kotlin/kopy/playground/Bar|.R|com/javiersc/kotlin/kopy/playground/Bar.isValid|): R|com/javiersc/kotlin/kopy/playground/Bar| - - } - @R|com/javiersc/kotlin/kopy/Kopy|() public final data class Foo : R|kotlin/Any|, R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - public constructor(bar: R|com/javiersc/kotlin/kopy/playground/Bar|, letter: R|kotlin/Char|): R|com/javiersc/kotlin/kopy/playground/Foo| { - super() - } - - public final val bar: R|com/javiersc/kotlin/kopy/playground/Bar| = R|/bar| - public get(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final val letter: R|kotlin/Char| = R|/letter| - public get(): R|kotlin/Char| - - public final operator fun component1(): R|com/javiersc/kotlin/kopy/playground/Bar| - - public final operator fun component2(): R|kotlin/Char| - - public final fun copy(bar: R|com/javiersc/kotlin/kopy/playground/Bar| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|, letter: R|kotlin/Char| = this@R|com/javiersc/kotlin/kopy/playground/Foo|.R|com/javiersc/kotlin/kopy/playground/Foo.letter|): R|com/javiersc/kotlin/kopy/playground/Foo| - - public open override fun _initKopyable(): R|com/javiersc/kotlin/kopy/runtime/Kopyable| { - } - - public open override val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| - - } diff --git a/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.kt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.kt similarity index 100% rename from kopy-compiler/test-data/diagnostics/edge/no-copy-scope.kt rename to kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.kt diff --git a/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.kt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.kt similarity index 100% rename from kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.kt rename to kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.kt diff --git a/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.kt b/kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.kt similarity index 100% rename from kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.kt rename to kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.kt diff --git a/kopy-compiler/test-gen/java/com/javiersc/kotlin/kopy/compiler/DiagnosticTestGenerated.java b/kopy-compiler/test-gen/java/com/javiersc/kotlin/kopy/compiler/DiagnosticTestGenerated.java index da19e5a..9d6f2e5 100644 --- a/kopy-compiler/test-gen/java/com/javiersc/kotlin/kopy/compiler/DiagnosticTestGenerated.java +++ b/kopy-compiler/test-gen/java/com/javiersc/kotlin/kopy/compiler/DiagnosticTestGenerated.java @@ -21,34 +21,6 @@ public void testAllFilesPresentInDiagnostics() { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("test-data/diagnostics"), Pattern.compile("^(.+)\\.kt$"), null, true); } - @Nested - @TestMetadata("test-data/diagnostics/edge") - @TestDataPath("$PROJECT_ROOT") - public class Edge { - @Test - public void testAllFilesPresentInEdge() { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("test-data/diagnostics/edge"), Pattern.compile("^(.+)\\.kt$"), null, true); - } - - @Test - @TestMetadata("no-copy-scope.kt") - public void testNo_copy_scope() { - runTest("test-data/diagnostics/edge/no-copy-scope.kt"); - } - - @Test - @TestMetadata("no-immediate-copy-scope.kt") - public void testNo_immediate_copy_scope() { - runTest("test-data/diagnostics/edge/no-immediate-copy-scope.kt"); - } - - @Test - @TestMetadata("no-nest-copy-set.kt") - public void testNo_nest_copy_set() { - runTest("test-data/diagnostics/edge/no-nest-copy-set.kt"); - } - } - @Nested @TestMetadata("test-data/diagnostics/invalid-call-chain") @TestDataPath("$PROJECT_ROOT") @@ -117,6 +89,28 @@ public void testSimple_multiple_deep_set() { } } + @Nested + @TestMetadata("test-data/diagnostics/no-copy-scope") + @TestDataPath("$PROJECT_ROOT") + public class No_copy_scope { + @Test + public void testAllFilesPresentInNo_copy_scope() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("test-data/diagnostics/no-copy-scope"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("simple-no-copy-scope-deep-set.kt") + public void testSimple_no_copy_scope_deep_set() { + runTest("test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.kt"); + } + + @Test + @TestMetadata("simple-no-immediate-copy-scope-deep-set.kt") + public void testSimple_no_immediate_copy_scope_deep_set() { + runTest("test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.kt"); + } + } + @Nested @TestMetadata("test-data/diagnostics/non-data-class") @TestDataPath("$PROJECT_ROOT") @@ -171,5 +165,11 @@ public void testSimple_deep_copy_with_multiple_scenarios() { public void testSimple_nested_copy() { runTest("test-data/diagnostics/valid/simple-nested-copy.kt"); } + + @Test + @TestMetadata("simple-no-nest-copy-deep-set.kt") + public void testSimple_no_nest_copy_deep_set() { + runTest("test-data/diagnostics/valid/simple-no-nest-copy-deep-set.kt"); + } } }