diff --git a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/generation/FirKopyDeclarationGenerationExtension.kt b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/generation/FirKopyDeclarationGenerationExtension.kt index 59a6ee0..bde1aab 100644 --- a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/generation/FirKopyDeclarationGenerationExtension.kt +++ b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/generation/FirKopyDeclarationGenerationExtension.kt @@ -127,6 +127,10 @@ internal class FirKopyDeclarationGenerationExtension( val atomicRefType: ConeKotlinType = createAtomicRefType(owner) + val atomicVisibility: Visibility = + calculateVisibility(owner).takeIf { it !is Visibilities.Public } + ?: Visibilities.Internal + val atomicProperty: FirProperty = createMemberProperty( owner = context.owner, @@ -136,7 +140,7 @@ internal class FirKopyDeclarationGenerationExtension( config = { status { isOverride = false } modality = Modality.FINAL - visibility = calculateVisibility(owner) + visibility = atomicVisibility }, ) return listOf(atomicProperty.symbol) diff --git a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/ir/transformers/IrFunctionsTransformer.kt b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/ir/transformers/IrFunctionsTransformer.kt index b259d17..a52aa8f 100644 --- a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/ir/transformers/IrFunctionsTransformer.kt +++ b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/ir/transformers/IrFunctionsTransformer.kt @@ -9,11 +9,6 @@ import com.javiersc.kotlin.compiler.extensions.common.toName import com.javiersc.kotlin.compiler.extensions.ir.asIr import com.javiersc.kotlin.compiler.extensions.ir.declarationIrBuilder import com.javiersc.kotlin.compiler.extensions.ir.firstIrClass -import com.javiersc.kotlin.kopy.KopyFunctionCopy -import com.javiersc.kotlin.kopy.KopyFunctionInvoke -import com.javiersc.kotlin.kopy.KopyFunctionSet -import com.javiersc.kotlin.kopy.KopyFunctionUpdate -import com.javiersc.kotlin.kopy.KopyFunctionUpdateEach import com.javiersc.kotlin.kopy.compiler.ir.utils.isKopyCopy import com.javiersc.kotlin.kopy.compiler.ir.utils.isKopyCopyOrInvoke import com.javiersc.kotlin.kopy.compiler.ir.utils.isKopySet diff --git a/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt b/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt index 0c7ea1d..a324e11 100644 --- a/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt RETURN type=kotlin.Nothing from='public final fun (): com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.House' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:pet type:com.javiersc.kotlin.kopy.playground.Pet visibility:private [final]' type=com.javiersc.kotlin.kopy.playground.Pet origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.' type=com.javiersc.kotlin.kopy.playground.House origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.House initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House' type=com.javiersc.kotlin.kopy.playground.House origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.House) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.House) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.House BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.' type=com.javiersc.kotlin.kopy.playground.House origin=null CONSTRUCTOR visibility:public <> (street:kotlin.String, pet:com.javiersc.kotlin.kopy.playground.Pet) returnType:com.javiersc.kotlin.kopy.playground.House [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.copy' type=com.javiersc.kotlin.kopy.playground.House origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.copy' type=com.javiersc.kotlin.kopy.playground.House origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.House, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.House [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.invoke' type=com.javiersc.kotlin.kopy.playground.House origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House.invoke' type=com.javiersc.kotlin.kopy.playground.House origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.House, $receiver:S of com.javiersc.kotlin.kopy.playground.House.set, other:S of com.javiersc.kotlin.kopy.playground.House.set) returnType:kotlin.Unit [infix] annotations: @@ -249,17 +249,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Pet' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:age type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.' type=com.javiersc.kotlin.kopy.playground.Pet origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Pet initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet' type=com.javiersc.kotlin.kopy.playground.Pet origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Pet) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Pet) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Pet BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.' type=com.javiersc.kotlin.kopy.playground.Pet origin=null CONSTRUCTOR visibility:public <> (name:kotlin.String, age:kotlin.Int) returnType:com.javiersc.kotlin.kopy.playground.Pet [primary] @@ -283,7 +283,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.copy' type=com.javiersc.kotlin.kopy.playground.Pet origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.copy' type=com.javiersc.kotlin.kopy.playground.Pet origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Pet, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Pet [operator,infix] annotations: @@ -300,7 +300,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.invoke' type=com.javiersc.kotlin.kopy.playground.Pet origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Pet' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet.invoke' type=com.javiersc.kotlin.kopy.playground.Pet origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Pet, $receiver:S of com.javiersc.kotlin.kopy.playground.Pet.set, other:S of com.javiersc.kotlin.kopy.playground.Pet.set) returnType:kotlin.Unit [infix] annotations: @@ -485,16 +485,16 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.House origin=null value: CALL 'public final fun copy (street: kotlin.String, pet: com.javiersc.kotlin.kopy.playground.Pet): com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.House' type=com.javiersc.kotlin.kopy.playground.House origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.House origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.House origin=null pet: CALL 'public final fun copy (name: kotlin.String, age: kotlin.Int): com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.Pet' type=com.javiersc.kotlin.kopy.playground.Pet origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Pet declared in com.javiersc.kotlin.kopy.playground.House' type=com.javiersc.kotlin.kopy.playground.Pet origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.House origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.House' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.House declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.House origin=null name: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/edge/simple-1.fir.txt b/kopy-compiler/test-data/box/edge/simple-1.fir.txt index 50095f5..a6e6252 100644 --- a/kopy-compiler/test-data/box/edge/simple-1.fir.txt +++ b/kopy-compiler/test-data/box/edge/simple-1.fir.txt @@ -40,8 +40,8 @@ FILE: simple-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -76,8 +76,8 @@ FILE: simple-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt b/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt index bd710a6..ead6f76 100644 --- a/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt +++ b/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:isValid type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Bar initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null CONSTRUCTOR visibility:public <> (baz:com.javiersc.kotlin.kopy.playground.Baz, isValid:kotlin.Boolean) returnType:com.javiersc.kotlin.kopy.playground.Bar [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Bar [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Bar, $receiver:S of com.javiersc.kotlin.kopy.playground.Bar.set, other:S of com.javiersc.kotlin.kopy.playground.Bar.set) returnType:kotlin.Unit [infix] annotations: @@ -249,17 +249,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Baz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null CONSTRUCTOR visibility:public <> (qux:com.javiersc.kotlin.kopy.playground.Qux, text:kotlin.String) returnType:com.javiersc.kotlin.kopy.playground.Baz [primary] @@ -283,7 +283,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Baz [operator,infix] annotations: @@ -300,7 +300,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Baz, $receiver:S of com.javiersc.kotlin.kopy.playground.Baz.set, other:S of com.javiersc.kotlin.kopy.playground.Baz.set) returnType:kotlin.Unit [infix] annotations: @@ -473,17 +473,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (bar:com.javiersc.kotlin.kopy.playground.Bar, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -507,7 +507,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -524,7 +524,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -686,17 +686,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Qux' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.' type=com.javiersc.kotlin.kopy.playground.Qux origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Qux initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' type=com.javiersc.kotlin.kopy.playground.Qux origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Qux BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.' type=com.javiersc.kotlin.kopy.playground.Qux origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int) returnType:com.javiersc.kotlin.kopy.playground.Qux [primary] @@ -719,7 +719,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.copy' type=com.javiersc.kotlin.kopy.playground.Qux origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.copy' type=com.javiersc.kotlin.kopy.playground.Qux origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Qux [operator,infix] annotations: @@ -736,7 +736,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt p1: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.invoke' type=com.javiersc.kotlin.kopy.playground.Qux origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.invoke' type=com.javiersc.kotlin.kopy.playground.Qux origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Qux, $receiver:S of com.javiersc.kotlin.kopy.playground.Qux.set, other:S of com.javiersc.kotlin.kopy.playground.Qux.set) returnType:kotlin.Unit [infix] annotations: @@ -888,29 +888,29 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, isValid: kotlin.Boolean): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null baz: CALL 'public final fun copy (qux: com.javiersc.kotlin.kopy.playground.Qux, text: kotlin.String): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null qux: CALL 'public final fun copy (number: kotlin.Int): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' type=com.javiersc.kotlin.kopy.playground.Qux origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Qux origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/nest-copy-set.fir.txt b/kopy-compiler/test-data/box/nest-copy-set.fir.txt index 8f464ad..17328b5 100644 --- a/kopy-compiler/test-data/box/nest-copy-set.fir.txt +++ b/kopy-compiler/test-data/box/nest-copy-set.fir.txt @@ -36,8 +36,8 @@ FILE: nest-copy-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -72,8 +72,8 @@ FILE: nest-copy-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -108,8 +108,8 @@ FILE: nest-copy-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -144,8 +144,8 @@ FILE: nest-copy-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/nest-copy-update.fir.ir.txt b/kopy-compiler/test-data/box/nest-copy-update.fir.ir.txt index 35d6e77..51ef451 100644 --- a/kopy-compiler/test-data/box/nest-copy-update.fir.ir.txt +++ b/kopy-compiler/test-data/box/nest-copy-update.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:isValid type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Bar initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null CONSTRUCTOR visibility:public <> (baz:com.javiersc.kotlin.kopy.playground.Baz, isValid:kotlin.Boolean) returnType:com.javiersc.kotlin.kopy.playground.Bar [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Bar [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Bar, $receiver:S of com.javiersc.kotlin.kopy.playground.Bar.set, other:S of com.javiersc.kotlin.kopy.playground.Bar.set) returnType:kotlin.Unit [infix] annotations: @@ -249,17 +249,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Baz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null CONSTRUCTOR visibility:public <> (qux:com.javiersc.kotlin.kopy.playground.Qux, text:kotlin.String) returnType:com.javiersc.kotlin.kopy.playground.Baz [primary] @@ -283,7 +283,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Baz [operator,infix] annotations: @@ -300,7 +300,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Baz, $receiver:S of com.javiersc.kotlin.kopy.playground.Baz.set, other:S of com.javiersc.kotlin.kopy.playground.Baz.set) returnType:kotlin.Unit [infix] annotations: @@ -473,17 +473,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (bar:com.javiersc.kotlin.kopy.playground.Bar, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -507,7 +507,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -524,7 +524,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -686,17 +686,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Qux' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.' type=com.javiersc.kotlin.kopy.playground.Qux origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Qux initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' type=com.javiersc.kotlin.kopy.playground.Qux origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Qux BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.' type=com.javiersc.kotlin.kopy.playground.Qux origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int) returnType:com.javiersc.kotlin.kopy.playground.Qux [primary] @@ -719,7 +719,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.copy' type=com.javiersc.kotlin.kopy.playground.Qux origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.copy' type=com.javiersc.kotlin.kopy.playground.Qux origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Qux, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Qux [operator,infix] annotations: @@ -736,7 +736,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt p1: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.invoke' type=com.javiersc.kotlin.kopy.playground.Qux origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Qux' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux.invoke' type=com.javiersc.kotlin.kopy.playground.Qux origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Qux, $receiver:S of com.javiersc.kotlin.kopy.playground.Qux.set, other:S of com.javiersc.kotlin.kopy.playground.Qux.set) returnType:kotlin.Unit [infix] annotations: @@ -895,29 +895,29 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-update.kt VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, isValid: kotlin.Boolean): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null baz: CALL 'public final fun copy (qux: com.javiersc.kotlin.kopy.playground.Qux, text: kotlin.String): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null qux: CALL 'public final fun copy (number: kotlin.Int): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Qux' type=com.javiersc.kotlin.kopy.playground.Qux origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Qux declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Qux origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/nest-copy-update.fir.txt b/kopy-compiler/test-data/box/nest-copy-update.fir.txt index cb518d3..8f6d602 100644 --- a/kopy-compiler/test-data/box/nest-copy-update.fir.txt +++ b/kopy-compiler/test-data/box/nest-copy-update.fir.txt @@ -39,8 +39,8 @@ FILE: nest-copy-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -75,8 +75,8 @@ FILE: nest-copy-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -111,8 +111,8 @@ FILE: nest-copy-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -147,8 +147,8 @@ FILE: nest-copy-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt index 34a88bf..747e0e6 100644 --- a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -256,11 +256,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box..' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box..' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.Int origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -277,11 +277,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt index 4be69c2..d107c71 100644 --- a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt +++ b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt @@ -42,8 +42,8 @@ FILE: simple-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt index 0f4613a..2bb3e4c 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -249,11 +249,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt index 047f3d6..42d0bd2 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt @@ -38,8 +38,8 @@ FILE: no-nest-copy-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.ir.txt index 64eaceb..cb5a96b 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letters type:kotlin.collections.List visibility:private [final]' type=kotlin.collections.List origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (numbers:kotlin.collections.List, letters:kotlin.collections.List) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -269,11 +269,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea VALUE_PARAMETER name:it index:0 type:kotlin.collections.List BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (numbers: kotlin.collections.List, letters: kotlin.collections.List): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null numbers: GET_VAR 'it: kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.collections.List origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.txt index c0f133a..6e53d45 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-no-it.fir.txt @@ -44,8 +44,8 @@ FILE: no-nest-copy-update-each-no-it.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.ir.txt index 6c43752..ded1dcc 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letters type:kotlin.collections.List visibility:private [final]' type=kotlin.collections.List origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (numbers:kotlin.collections.List, letters:kotlin.collections.List) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -271,11 +271,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea VALUE_PARAMETER name:it index:0 type:kotlin.collections.List BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (numbers: kotlin.collections.List, letters: kotlin.collections.List): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null numbers: GET_VAR 'it: kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.collections.List origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.txt index 6a8f2cc..5531d5d 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-custom-parameter.fir.txt @@ -41,8 +41,8 @@ FILE: no-nest-copy-update-each-with-custom-parameter.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.ir.txt index bb1af65..4d2e885 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letters type:kotlin.collections.List visibility:private [final]' type=kotlin.collections.List origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (numbers:kotlin.collections.List, letters:kotlin.collections.List) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -271,11 +271,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-ea VALUE_PARAMETER name:it index:0 type:kotlin.collections.List BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (numbers: kotlin.collections.List, letters: kotlin.collections.List): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null numbers: GET_VAR 'it: kotlin.collections.List declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.collections.List origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.txt index 793a69d..faca1bd 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-each-with-it.fir.txt @@ -41,8 +41,8 @@ FILE: no-nest-copy-update-each-with-it.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt index 0181de2..953490f 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -254,11 +254,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt index 7d3bcb7..ca29ee9 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt @@ -41,8 +41,8 @@ FILE: no-nest-copy-update-no-it.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.ir.txt index d09527c..2dea3dc 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -256,11 +256,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.txt index dd274ef..9556c94 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-custom-parameter.fir.txt @@ -41,8 +41,8 @@ FILE: no-nest-copy-update-with-custom-parameter.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt index 95cf2ac..d60d870 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi RETURN type=kotlin.Nothing from='public final fun (): kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:letter type:kotlin.Char visibility:private [final]' type=kotlin.Char origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (number:kotlin.Int, letter:kotlin.Char) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -256,11 +256,11 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi VALUE_PARAMETER name:it index:0 type:kotlin.Int BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (number: kotlin.Int, letter: kotlin.Char): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null number: GET_VAR 'it: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.box...' type=kotlin.Int origin=null VAR name:isOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt index 6be77c5..61e6cdf 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt @@ -41,8 +41,8 @@ FILE: no-nest-copy-update-with-it.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt index ad2ade8..855fab9 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt RETURN type=kotlin.Nothing from='public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:quz type:com.javiersc.kotlin.kopy.playground.Quz visibility:private [final]' type=com.javiersc.kotlin.kopy.playground.Quz origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Bar initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null CONSTRUCTOR visibility:public <> (baz:com.javiersc.kotlin.kopy.playground.Baz, quz:com.javiersc.kotlin.kopy.playground.Quz) returnType:com.javiersc.kotlin.kopy.playground.Bar [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Bar [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Bar, $receiver:S of com.javiersc.kotlin.kopy.playground.Bar.set, other:S of com.javiersc.kotlin.kopy.playground.Bar.set) returnType:kotlin.Unit [infix] annotations: @@ -249,17 +249,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Baz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null CONSTRUCTOR visibility:public <> (quz:com.javiersc.kotlin.kopy.playground.Quz, number:kotlin.Int) returnType:com.javiersc.kotlin.kopy.playground.Baz [primary] @@ -283,7 +283,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Baz [operator,infix] annotations: @@ -300,7 +300,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Baz, $receiver:S of com.javiersc.kotlin.kopy.playground.Baz.set, other:S of com.javiersc.kotlin.kopy.playground.Baz.set) returnType:kotlin.Unit [infix] annotations: @@ -484,17 +484,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt RETURN type=kotlin.Nothing from='public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:quz type:com.javiersc.kotlin.kopy.playground.Quz visibility:private [final]' type=com.javiersc.kotlin.kopy.playground.Quz origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (bar:com.javiersc.kotlin.kopy.playground.Bar, baz:com.javiersc.kotlin.kopy.playground.Baz, quz:com.javiersc.kotlin.kopy.playground.Quz) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -519,7 +519,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -536,7 +536,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -731,17 +731,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Quz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.' type=com.javiersc.kotlin.kopy.playground.Quz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Quz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.' type=com.javiersc.kotlin.kopy.playground.Quz origin=null CONSTRUCTOR visibility:public <> (text:kotlin.String) returnType:com.javiersc.kotlin.kopy.playground.Quz [primary] @@ -764,7 +764,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.copy' type=com.javiersc.kotlin.kopy.playground.Quz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.copy' type=com.javiersc.kotlin.kopy.playground.Quz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Quz [operator,infix] annotations: @@ -781,7 +781,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt p1: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.invoke' type=com.javiersc.kotlin.kopy.playground.Quz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.invoke' type=com.javiersc.kotlin.kopy.playground.Quz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Quz, $receiver:S of com.javiersc.kotlin.kopy.playground.Quz.set, other:S of com.javiersc.kotlin.kopy.playground.Quz.set) returnType:kotlin.Unit [infix] annotations: @@ -933,22 +933,22 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -965,16 +965,16 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -993,29 +993,29 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null baz: CALL 'public final fun copy (quz: com.javiersc.kotlin.kopy.playground.Quz, number: kotlin.Int): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null VAR name:isOneOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.txt index ee2a625..3675e03 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.txt @@ -42,8 +42,8 @@ FILE: complex-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -78,8 +78,8 @@ FILE: complex-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -114,8 +114,8 @@ FILE: complex-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -164,8 +164,8 @@ FILE: complex-1.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionInvoke|() public final operator infix fun invoke(copy: R|com/javiersc/kotlin/kopy/playground/Foo.() -> kotlin/Unit|): R|com/javiersc/kotlin/kopy/playground/Foo| { } diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt index 720bc5f..573676b 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt @@ -25,17 +25,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt RETURN type=kotlin.Nothing from='public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:quz type:com.javiersc.kotlin.kopy.playground.Quz visibility:private [final]' type=com.javiersc.kotlin.kopy.playground.Quz origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Bar initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.' type=com.javiersc.kotlin.kopy.playground.Bar origin=null CONSTRUCTOR visibility:public <> (baz:com.javiersc.kotlin.kopy.playground.Baz, quz:com.javiersc.kotlin.kopy.playground.Quz) returnType:com.javiersc.kotlin.kopy.playground.Bar [primary] @@ -59,7 +59,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_0: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.copy' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Bar, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Bar [operator,infix] annotations: @@ -76,7 +76,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Bar' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_1: com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar.invoke' type=com.javiersc.kotlin.kopy.playground.Bar origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Bar, $receiver:S of com.javiersc.kotlin.kopy.playground.Bar.set, other:S of com.javiersc.kotlin.kopy.playground.Bar.set) returnType:kotlin.Unit [infix] annotations: @@ -249,17 +249,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:number type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Baz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.' type=com.javiersc.kotlin.kopy.playground.Baz origin=null CONSTRUCTOR visibility:public <> (quz:com.javiersc.kotlin.kopy.playground.Quz, number:kotlin.Int) returnType:com.javiersc.kotlin.kopy.playground.Baz [primary] @@ -283,7 +283,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_3: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.copy' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Baz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Baz [operator,infix] annotations: @@ -300,7 +300,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Baz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_4: com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz.invoke' type=com.javiersc.kotlin.kopy.playground.Baz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Baz, $receiver:S of com.javiersc.kotlin.kopy.playground.Baz.set, other:S of com.javiersc.kotlin.kopy.playground.Baz.set) returnType:kotlin.Unit [infix] annotations: @@ -484,17 +484,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt RETURN type=kotlin.Nothing from='public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:quz type:com.javiersc.kotlin.kopy.playground.Quz visibility:private [final]' type=com.javiersc.kotlin.kopy.playground.Quz origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Foo initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null CONSTRUCTOR visibility:public <> (bar:com.javiersc.kotlin.kopy.playground.Bar, baz:com.javiersc.kotlin.kopy.playground.Baz, quz:com.javiersc.kotlin.kopy.playground.Quz) returnType:com.javiersc.kotlin.kopy.playground.Foo [primary] @@ -519,7 +519,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_6: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.copy' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Foo, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Foo [operator,infix] annotations: @@ -536,7 +536,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_7: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo.invoke' type=com.javiersc.kotlin.kopy.playground.Foo origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Foo, $receiver:S of com.javiersc.kotlin.kopy.playground.Foo.set, other:S of com.javiersc.kotlin.kopy.playground.Foo.set) returnType:kotlin.Unit [infix] annotations: @@ -731,17 +731,17 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Quz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:text type:kotlin.String visibility:private [final]' type=kotlin.String origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.' type=com.javiersc.kotlin.kopy.playground.Quz origin=null - PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final] EXPRESSION_BODY CALL 'public final fun atomic (initial: T of kotlinx.atomicfu.atomic): kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu' type=kotlinx.atomicfu.AtomicRef origin=null : com.javiersc.kotlin.kopy.playground.Quz initial: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlinx.atomicfu.AtomicRef - correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:public modality:FINAL [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlinx.atomicfu.AtomicRef + correspondingProperty: PROPERTY GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:_atomic visibility:internal modality:FINAL [val] $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:_atomic type:kotlinx.atomicfu.AtomicRef visibility:private [final]' type=kotlinx.atomicfu.AtomicRef origin=null receiver: GET_VAR ': com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.' type=com.javiersc.kotlin.kopy.playground.Quz origin=null CONSTRUCTOR visibility:public <> (text:kotlin.String) returnType:com.javiersc.kotlin.kopy.playground.Quz [primary] @@ -764,7 +764,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.copy' type=com.javiersc.kotlin.kopy.playground.Quz origin=null RETURN type=kotlin.Nothing from='public final fun copy (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_9: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.copy' type=com.javiersc.kotlin.kopy.playground.Quz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:invoke visibility:public modality:FINAL <> ($this:com.javiersc.kotlin.kopy.playground.Quz, copy:@[ExtensionFunctionType] kotlin.Function1) returnType:com.javiersc.kotlin.kopy.playground.Quz [operator,infix] annotations: @@ -781,7 +781,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt p1: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.invoke' type=com.javiersc.kotlin.kopy.playground.Quz origin=null RETURN type=kotlin.Nothing from='public final fun invoke (copy: @[ExtensionFunctionType] kotlin.Function1): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=T of kotlinx.atomicfu.AtomicRef origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Quz' type=kotlinx.atomicfu.AtomicRef origin=null $this: GET_VAR 'val tmp_10: com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz.invoke' type=com.javiersc.kotlin.kopy.playground.Quz origin=null FUN GENERATED[com.javiersc.kotlin.kopy.compiler.fir.Key] name:set visibility:public modality:FINAL ($this:com.javiersc.kotlin.kopy.playground.Quz, $receiver:S of com.javiersc.kotlin.kopy.playground.Quz.set, other:S of com.javiersc.kotlin.kopy.playground.Quz.set) returnType:kotlin.Unit [infix] annotations: @@ -933,22 +933,22 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -965,16 +965,16 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -993,29 +993,29 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null baz: CALL 'public final fun copy (quz: com.javiersc.kotlin.kopy.playground.Quz, number: kotlin.Int): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -1033,22 +1033,22 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -1065,16 +1065,16 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null CALL 'public final fun set (other: S of com.javiersc.kotlin.kopy.playground.Foo.set): kotlin.Unit declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlin.Unit origin=null @@ -1093,29 +1093,29 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt VALUE_PARAMETER name:it index:0 type:kotlin.String BLOCK_BODY CALL 'public final fun lazySet (value: T of kotlinx.atomicfu.AtomicRef): kotlin.Unit declared in kotlinx.atomicfu.AtomicRef' type=kotlin.Unit origin=null - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null value: CALL 'public final fun copy (bar: com.javiersc.kotlin.kopy.playground.Bar, baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Foo origin=null $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null bar: CALL 'public final fun copy (baz: com.javiersc.kotlin.kopy.playground.Baz, quz: com.javiersc.kotlin.kopy.playground.Quz): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Bar origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null baz: CALL 'public final fun copy (quz: com.javiersc.kotlin.kopy.playground.Quz, number: kotlin.Int): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Baz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null quz: CALL 'public final fun copy (text: kotlin.String): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Quz' type=com.javiersc.kotlin.kopy.playground.Quz origin=null $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Quz declared in com.javiersc.kotlin.kopy.playground.Baz' type=com.javiersc.kotlin.kopy.playground.Quz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Baz declared in com.javiersc.kotlin.kopy.playground.Bar' type=com.javiersc.kotlin.kopy.playground.Baz origin=GET_PROPERTY $this: CALL 'public final fun (): com.javiersc.kotlin.kopy.playground.Bar declared in com.javiersc.kotlin.kopy.playground.Foo' type=com.javiersc.kotlin.kopy.playground.Bar origin=GET_PROPERTY $this: CALL 'public final fun (): T of kotlinx.atomicfu.AtomicRef declared in kotlinx.atomicfu.AtomicRef' type=com.javiersc.kotlin.kopy.playground.Foo origin=GET_PROPERTY - $this: CALL 'public final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY + $this: CALL 'internal final fun (): kotlinx.atomicfu.AtomicRef declared in com.javiersc.kotlin.kopy.playground.Foo' type=kotlinx.atomicfu.AtomicRef origin=GET_PROPERTY $this: GET_VAR '$this$copy: com.javiersc.kotlin.kopy.playground.Foo declared in com.javiersc.kotlin.kopy.playground.box.' type=com.javiersc.kotlin.kopy.playground.Foo origin=null text: GET_VAR 'it: kotlin.String declared in com.javiersc.kotlin.kopy.playground.box..' type=kotlin.String origin=null VAR name:isOneOk type:kotlin.Boolean [val] diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.txt index f72812d..277aace 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.txt @@ -45,8 +45,8 @@ FILE: complex-2.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -81,8 +81,8 @@ FILE: complex-2.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -117,8 +117,8 @@ FILE: complex-2.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -167,8 +167,8 @@ FILE: complex-2.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionInvoke|() public final operator infix fun invoke(copy: R|com/javiersc/kotlin/kopy/playground/Foo.() -> kotlin/Unit|): R|com/javiersc/kotlin/kopy/playground/Foo| { } diff --git a/kopy-compiler/test-data/diagnostics-kopy-functions/all/all.fir.txt b/kopy-compiler/test-data/diagnostics-kopy-functions/all/all.fir.txt index 3e23a10..63b4718 100644 --- a/kopy-compiler/test-data/diagnostics-kopy-functions/all/all.fir.txt +++ b/kopy-compiler/test-data/diagnostics-kopy-functions/all/all.fir.txt @@ -21,8 +21,8 @@ FILE: all.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics-kopy-functions/copy/copy.fir.txt b/kopy-compiler/test-data/diagnostics-kopy-functions/copy/copy.fir.txt index b2c56aa..bc9dc43 100644 --- a/kopy-compiler/test-data/diagnostics-kopy-functions/copy/copy.fir.txt +++ b/kopy-compiler/test-data/diagnostics-kopy-functions/copy/copy.fir.txt @@ -21,8 +21,8 @@ FILE: copy.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics-kopy-functions/invoke/invoke.fir.txt b/kopy-compiler/test-data/diagnostics-kopy-functions/invoke/invoke.fir.txt index b2439ae..a8e970f 100644 --- a/kopy-compiler/test-data/diagnostics-kopy-functions/invoke/invoke.fir.txt +++ b/kopy-compiler/test-data/diagnostics-kopy-functions/invoke/invoke.fir.txt @@ -21,8 +21,8 @@ FILE: invoke.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics-kopy-visibility/0_auto/public.fir.txt b/kopy-compiler/test-data/diagnostics-kopy-visibility/0_auto/public.fir.txt index d97ef7c..3ad09a9 100644 --- a/kopy-compiler/test-data/diagnostics-kopy-visibility/0_auto/public.fir.txt +++ b/kopy-compiler/test-data/diagnostics-kopy-visibility/0_auto/public.fir.txt @@ -33,8 +33,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -69,8 +69,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics-kopy-visibility/1_public/public.fir.txt b/kopy-compiler/test-data/diagnostics-kopy-visibility/1_public/public.fir.txt index d97ef7c..3ad09a9 100644 --- a/kopy-compiler/test-data/diagnostics-kopy-visibility/1_public/public.fir.txt +++ b/kopy-compiler/test-data/diagnostics-kopy-visibility/1_public/public.fir.txt @@ -33,8 +33,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -69,8 +69,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-set.fir.txt index 7c4cdb2..c628379 100644 --- a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-set.fir.txt @@ -44,8 +44,8 @@ FILE: simple-deep-invalid-call-chain-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -80,8 +80,8 @@ FILE: simple-deep-invalid-call-chain-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -116,8 +116,8 @@ FILE: simple-deep-invalid-call-chain-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -152,8 +152,8 @@ FILE: simple-deep-invalid-call-chain-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update-each.fir.txt b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update-each.fir.txt index f18b51f..669999d 100644 --- a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update-each.fir.txt +++ b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update-each.fir.txt @@ -56,8 +56,8 @@ FILE: simple-deep-invalid-call-chain-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -92,8 +92,8 @@ FILE: simple-deep-invalid-call-chain-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -128,8 +128,8 @@ FILE: simple-deep-invalid-call-chain-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -164,8 +164,8 @@ FILE: simple-deep-invalid-call-chain-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update.fir.txt index 5a0b1c3..da504a0 100644 --- a/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/invalid-call-chain/simple-deep-invalid-call-chain-deep-update.fir.txt @@ -56,8 +56,8 @@ FILE: simple-deep-invalid-call-chain-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -92,8 +92,8 @@ FILE: simple-deep-invalid-call-chain-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -128,8 +128,8 @@ FILE: simple-deep-invalid-call-chain-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -164,8 +164,8 @@ FILE: simple-deep-invalid-call-chain-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/multiple-scenarios-in-a-row.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/multiple-scenarios-in-a-row.fir.txt index 19863c3..32dd201 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/multiple-scenarios-in-a-row.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/multiple-scenarios-in-a-row.fir.txt @@ -95,8 +95,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -143,8 +143,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -179,8 +179,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set-and-valid-set.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set-and-valid-set.fir.txt index 9c9ce6a..ea61563 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set-and-valid-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set-and-valid-set.fir.txt @@ -27,8 +27,8 @@ FILE: simple-1-level-deep-missing-and-deep-set-and-valid-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -75,8 +75,8 @@ FILE: simple-1-level-deep-missing-and-deep-set-and-valid-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -111,8 +111,8 @@ FILE: simple-1-level-deep-missing-and-deep-set-and-valid-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set.fir.txt index 96a677f..edfe74e 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-set.fir.txt @@ -26,8 +26,8 @@ FILE: simple-1-level-deep-missing-and-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -74,8 +74,8 @@ FILE: simple-1-level-deep-missing-and-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -110,8 +110,8 @@ FILE: simple-1-level-deep-missing-and-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-update.fir.txt index 417d52d..57d774c 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-missing-and-deep-update.fir.txt @@ -77,8 +77,8 @@ FILE: simple-1-level-deep-missing-and-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-set.fir.txt index 365d4d9..3acf173 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-set.fir.txt @@ -26,8 +26,8 @@ FILE: simple-1-level-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -74,8 +74,8 @@ FILE: simple-1-level-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -110,8 +110,8 @@ FILE: simple-1-level-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update-each.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update-each.fir.txt index 5e59d78..6868e36 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update-each.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update-each.fir.txt @@ -29,8 +29,8 @@ FILE: simple-1-level-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -77,8 +77,8 @@ FILE: simple-1-level-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -113,8 +113,8 @@ FILE: simple-1-level-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update.fir.txt index 104affe..52b5618 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1-level-deep-update.fir.txt @@ -29,8 +29,8 @@ FILE: simple-1-level-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -77,8 +77,8 @@ FILE: simple-1-level-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -113,8 +113,8 @@ FILE: simple-1-level-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-set.fir.txt index 7480635..96d0830 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-set.fir.txt @@ -26,8 +26,8 @@ FILE: simple-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -74,8 +74,8 @@ FILE: simple-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -110,8 +110,8 @@ FILE: simple-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-update.fir.txt index b0adab8..3ed1625 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-deep-update.fir.txt @@ -29,8 +29,8 @@ FILE: simple-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -77,8 +77,8 @@ FILE: simple-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -113,8 +113,8 @@ FILE: simple-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-set.fir.txt index 69d2b06..3cf2344 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-set.fir.txt @@ -29,8 +29,8 @@ FILE: simple-multiple-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update-each.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update-each.fir.txt index 000a272..1a61798 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update-each.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update-each.fir.txt @@ -35,8 +35,8 @@ FILE: simple-multiple-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update.fir.txt index b666f20..a8d6bba 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-multiple-deep-update.fir.txt @@ -35,8 +35,8 @@ FILE: simple-multiple-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.fir.txt index 6549e64..1b36dc8 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-set.fir.txt @@ -80,8 +80,8 @@ FILE: simple-no-copy-scope-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update-each.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update-each.fir.txt index 87e2a70..05b02f8 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update-each.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update-each.fir.txt @@ -83,8 +83,8 @@ FILE: simple-no-copy-scope-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update.fir.txt index 866c99a..b0f3a32 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-copy-scope-deep-update.fir.txt @@ -83,8 +83,8 @@ FILE: simple-no-copy-scope-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.fir.txt index 84b1e16..13a8087 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-set.fir.txt @@ -94,8 +94,8 @@ FILE: simple-no-immediate-copy-scope-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update-each.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update-each.fir.txt index 48ca181..1157a79 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update-each.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update-each.fir.txt @@ -103,8 +103,8 @@ FILE: simple-no-immediate-copy-scope-deep-update-each.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update.fir.txt b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update.fir.txt index c5ab5d1..c3893ae 100644 --- a/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update.fir.txt +++ b/kopy-compiler/test-data/diagnostics/no-copy-scope/simple-no-immediate-copy-scope-deep-update.fir.txt @@ -103,8 +103,8 @@ FILE: simple-no-immediate-copy-scope-deep-update.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/type-error/type-error.fir.txt b/kopy-compiler/test-data/diagnostics/type-error/type-error.fir.txt index 2249102..3e53429 100644 --- a/kopy-compiler/test-data/diagnostics/type-error/type-error.fir.txt +++ b/kopy-compiler/test-data/diagnostics/type-error/type-error.fir.txt @@ -48,8 +48,8 @@ FILE: type-error.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/multiple-scenarios-in-a-row.fir.txt b/kopy-compiler/test-data/diagnostics/valid/multiple-scenarios-in-a-row.fir.txt index 509db08..82a885f 100644 --- a/kopy-compiler/test-data/diagnostics/valid/multiple-scenarios-in-a-row.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/multiple-scenarios-in-a-row.fir.txt @@ -124,8 +124,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -174,8 +174,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionInvoke|() public final operator infix fun invoke(copy: R|com/javiersc/kotlin/kopy/playground/Baz.() -> kotlin/Unit|): R|com/javiersc/kotlin/kopy/playground/Baz| { } @@ -215,8 +215,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionInvoke|() public final operator infix fun invoke(copy: R|com/javiersc/kotlin/kopy/playground/Bar.() -> kotlin/Unit|): R|com/javiersc/kotlin/kopy/playground/Bar| { } @@ -256,8 +256,8 @@ FILE: multiple-scenarios-in-a-row.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionInvoke|() public final operator infix fun invoke(copy: R|com/javiersc/kotlin/kopy/playground/Foo.() -> kotlin/Unit|): R|com/javiersc/kotlin/kopy/playground/Foo| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-custom-parameter.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-custom-parameter.fir.txt index 7fa92de..64a6863 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-custom-parameter.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-custom-parameter.fir.txt @@ -31,8 +31,8 @@ FILE: simple-copy-update-custom-parameter.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-each-custom-parameter.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-each-custom-parameter.fir.txt index 174dd9c..5b02ca0 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-each-custom-parameter.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-copy-update-each-custom-parameter.fir.txt @@ -31,8 +31,8 @@ FILE: simple-copy-update-each-custom-parameter.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-copy.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-copy.fir.txt index 1d51078..c7fc817 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-copy.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-copy.fir.txt @@ -28,8 +28,8 @@ FILE: simple-copy.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy-with-multiple-scenarios.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy-with-multiple-scenarios.fir.txt index 0e6b60e..51bbf9e 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy-with-multiple-scenarios.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy-with-multiple-scenarios.fir.txt @@ -33,8 +33,8 @@ FILE: simple-deep-copy-with-multiple-scenarios.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -69,8 +69,8 @@ FILE: simple-deep-copy-with-multiple-scenarios.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -105,8 +105,8 @@ FILE: simple-deep-copy-with-multiple-scenarios.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy.fir.txt index 1a6c1b4..4fe1b19 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-deep-copy.fir.txt @@ -23,8 +23,8 @@ FILE: simple-deep-copy.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -54,8 +54,8 @@ FILE: simple-deep-copy.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy-assign.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy-assign.fir.txt index e2589f1..fadb782 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy-assign.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy-assign.fir.txt @@ -24,8 +24,8 @@ FILE: simple-nested-copy-assign.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -60,8 +60,8 @@ FILE: simple-nested-copy-assign.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy.fir.txt index 896db6c..03f5450 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-nested-copy.fir.txt @@ -32,8 +32,8 @@ FILE: simple-nested-copy.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.fir.txt index 7656fb6..7104ca8 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-no-nest-copy-deep-set.fir.txt @@ -90,8 +90,8 @@ FILE: simple-no-nest-copy-deep-set.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-compiler/test-data/diagnostics/visibility/public.fir.txt b/kopy-compiler/test-data/diagnostics/visibility/public.fir.txt index d97ef7c..3ad09a9 100644 --- a/kopy-compiler/test-data/diagnostics/visibility/public.fir.txt +++ b/kopy-compiler/test-data/diagnostics/visibility/public.fir.txt @@ -33,8 +33,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } @@ -69,8 +69,8 @@ FILE: public.kt @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| { } - public final val _atomic: R|kotlinx/atomicfu/AtomicRef| - public get(): R|kotlinx/atomicfu/AtomicRef| + internal final val _atomic: R|kotlinx/atomicfu/AtomicRef| + internal get(): R|kotlinx/atomicfu/AtomicRef| @R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun R|S|.set(other: R|S|): R|kotlin/Unit| { } diff --git a/kopy-gradle-plugin/build.gradle.kts b/kopy-gradle-plugin/build.gradle.kts index 4e23e0f..50349ef 100644 --- a/kopy-gradle-plugin/build.gradle.kts +++ b/kopy-gradle-plugin/build.gradle.kts @@ -1,3 +1,4 @@ +import com.javiersc.gradle.extensions.version.catalogs.artifact import org.jetbrains.kotlin.gradle.dsl.KotlinVersion hubdle { @@ -51,6 +52,7 @@ hubdle { pluginUnderTestDependencies( hubdle.android.tools.build.gradle, hubdle.jetbrains.kotlin.gradle.plugin, + hubdle.plugins.jetbrains.kotlin.plugin.atomicfu.artifact, projects.kopyRuntime, ) } @@ -75,7 +77,11 @@ hubdle { } } - testFunctional() + testFunctional { + dependencies { + compileOnly(hubdle.plugins.jetbrains.kotlin.plugin.atomicfu.artifact) + } + } } } } diff --git a/kopy-gradle-plugin/testFunctional/kotlin/com/javiersc/kotlin/kopy/gradle/plugin/KopyGradlePluginTest.kt b/kopy-gradle-plugin/testFunctional/kotlin/com/javiersc/kotlin/kopy/gradle/plugin/KopyGradlePluginTest.kt index ed34b9f..0f3438c 100644 --- a/kopy-gradle-plugin/testFunctional/kotlin/com/javiersc/kotlin/kopy/gradle/plugin/KopyGradlePluginTest.kt +++ b/kopy-gradle-plugin/testFunctional/kotlin/com/javiersc/kotlin/kopy/gradle/plugin/KopyGradlePluginTest.kt @@ -6,6 +6,25 @@ import org.junit.jupiter.api.Test internal class KopyGradlePluginTest : GradleTestKitTest() { + @Test + fun `kotlin multiplatform empty`() = gradleTestKitTest("kotlin-multiplatform-empty") { + gradlew("assemble").output.shouldContain("BUILD SUCCESSFUL") + } + + @Test + fun `kotlin plugin atomicfu`() = gradleTestKitTest("kotlin-plugin-atomicfu") { + gradlew("run") + .output + .shouldContain("House(squareMeters=200, kitchen=Kitchen(cat=Cat(name=Felix, age=7, numbers=[2, 3, 4]), squareMeters=20))") + } + + @Test + fun `multi-module`() = gradleTestKitTest("multi-module") { + gradlew("run") + .output + .shouldContain("House(squareMeters=200, kitchen=Kitchen(cat=Cat(name=Felix, age=7, numbers=[2, 3, 4]), squareMeters=20))") + } + @Test fun `simple setup`() = gradleTestKitTest("simple") { gradlew("run") @@ -15,13 +34,14 @@ internal class KopyGradlePluginTest : GradleTestKitTest() { @Test fun `private visibility`() = gradleTestKitTest("private-visibility") { - withArguments("run").buildAndFail() + withArguments("run") + .buildAndFail() .output - .shouldContain("Cannot access 'fun copy(copy: House.() -> Unit): House': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") - .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") - .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") - .shouldContain("Cannot access 'fun U.update(transform: (U) -> U): Unit': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") - .shouldContain("Cannot access 'fun Iterable.updateEach(transform: (UE) -> UE): Unit': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") - .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functiona/test/House'.") + .shouldContain("Cannot access 'fun copy(copy: House.() -> Unit): House': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") + .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") + .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") + .shouldContain("Cannot access 'fun U.update(transform: (U) -> U): Unit': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") + .shouldContain("Cannot access 'fun Iterable.updateEach(transform: (UE) -> UE): Unit': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") + .shouldContain("Cannot access 'fun S.set(other: S): Unit': it is private in 'com/javiersc/kotlin/kopy/functional/test/House'.") } } diff --git a/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/build.gradle.kts new file mode 100644 index 0000000..54627c1 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + id("com.javiersc.kotlin.kopy") + id("org.jetbrains.kotlin.multiplatform") +} + +kotlin { + linuxArm64() + linuxX64() +} + +kopy { + +} diff --git a/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/settings.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/settings.gradle.kts new file mode 100644 index 0000000..f23f154 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/kotlin-multiplatform-empty/settings.gradle.kts @@ -0,0 +1,26 @@ +import java.io.File + +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} + +dependencyResolutionManagement { + repositories { + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} diff --git a/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/build.gradle.kts new file mode 100644 index 0000000..5866d86 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + application + id("com.javiersc.kotlin.kopy") + id("org.jetbrains.kotlin.jvm") + id("org.jetbrains.kotlin.plugin.atomicfu") +} + +application { + mainClass = "com.javiersc.kotlin.kopy.functional.test.MainKt" +} + +kopy { + +} diff --git a/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/settings.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/settings.gradle.kts new file mode 100644 index 0000000..f23f154 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/settings.gradle.kts @@ -0,0 +1,26 @@ +import java.io.File + +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} + +dependencyResolutionManagement { + repositories { + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} diff --git a/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/src/main/kotlin/main.kt b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/src/main/kotlin/main.kt new file mode 100644 index 0000000..cb2ce1d --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/kotlin-plugin-atomicfu/src/main/kotlin/main.kt @@ -0,0 +1,30 @@ +package com.javiersc.kotlin.kopy.functional.test + +import com.javiersc.kotlin.kopy.Kopy + +fun main() { + val house = House( + squareMeters = 100, + kitchen = Kitchen( + cat = Cat( + name = "Garfield", + age = 5, + numbers = listOf(1, 2, 3), + ), + squareMeters = 10, + ), + ) + val house2: House = house.copy { + squareMeters = 200 + kitchen.cat.name = "Felix" + kitchen.cat.age.update { it + 2 } + kitchen.cat.numbers.updateEach { it + 1 } + kitchen.squareMeters.set(20) + } + + println(house2) +} + +@Kopy data class House(val squareMeters: Int, val kitchen: Kitchen) +@Kopy data class Kitchen(val cat: Cat, val squareMeters: Int) +@Kopy data class Cat(val name: String, val age: Int, val numbers: List) diff --git a/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/build.gradle.kts new file mode 100644 index 0000000..c9118cb --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + id("com.javiersc.kotlin.kopy") + id("org.jetbrains.kotlin.jvm") +} + +kopy { + +} diff --git a/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/src/main/kotlin/models.kt b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/src/main/kotlin/models.kt new file mode 100644 index 0000000..92de9b6 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-a/src/main/kotlin/models.kt @@ -0,0 +1,7 @@ +package com.javiersc.kotlin.kopy.functional.lib.a + +import com.javiersc.kotlin.kopy.Kopy + +@Kopy data class House(val squareMeters: Int, val kitchen: Kitchen) +@Kopy data class Kitchen(val cat: Cat, val squareMeters: Int) +@Kopy data class Cat(val name: String, val age: Int, val numbers: List) diff --git a/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/build.gradle.kts new file mode 100644 index 0000000..4beb733 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + application + id("com.javiersc.kotlin.kopy") + id("org.jetbrains.kotlin.jvm") +} + +application { + mainClass = "com.javiersc.kotlin.kopy.functional.lib.b.MainKt" +} + +kopy { + +} + +dependencies { + implementation(project(":lib-a")) +} diff --git a/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/src/main/kotlin/main.kt b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/src/main/kotlin/main.kt new file mode 100644 index 0000000..5653b95 --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/multi-module/lib-b/src/main/kotlin/main.kt @@ -0,0 +1,28 @@ +package com.javiersc.kotlin.kopy.functional.lib.b + +import com.javiersc.kotlin.kopy.functional.lib.a.House +import com.javiersc.kotlin.kopy.functional.lib.a.Kitchen +import com.javiersc.kotlin.kopy.functional.lib.a.Cat + +fun main() { + val house = House( + squareMeters = 100, + kitchen = Kitchen( + cat = Cat( + name = "Garfield", + age = 5, + numbers = listOf(1, 2, 3), + ), + squareMeters = 10, + ), + ) + val house2: House = house.copy { + squareMeters = 200 + kitchen.cat.name = "Felix" + kitchen.cat.age.update { it + 2 } + kitchen.cat.numbers.updateEach { it + 1 } + kitchen.squareMeters.set(20) + } + + println(house2) +} diff --git a/kopy-gradle-plugin/testFunctional/resources/multi-module/settings.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/multi-module/settings.gradle.kts new file mode 100644 index 0000000..7ff878a --- /dev/null +++ b/kopy-gradle-plugin/testFunctional/resources/multi-module/settings.gradle.kts @@ -0,0 +1,31 @@ +import java.io.File + +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} + +dependencyResolutionManagement { + repositories { + mavenCentral() + google() + maven( + url = File(System.getProperty("user.home")).resolve("mavenLocalTest/repository").toURI() + ) { + name = "mavenLocalTest" + } + } +} + +include( + ":lib-a", + ":lib-b", +) diff --git a/kopy-gradle-plugin/testFunctional/resources/private-visibility/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/private-visibility/build.gradle.kts index bf54035..1e6c519 100644 --- a/kopy-gradle-plugin/testFunctional/resources/private-visibility/build.gradle.kts +++ b/kopy-gradle-plugin/testFunctional/resources/private-visibility/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } application { - mainClass = "com.javiersc.kotlin.kopy.functiona.test.MainKt" + mainClass = "com.javiersc.kotlin.kopy.functional.test.MainKt" } kopy { diff --git a/kopy-gradle-plugin/testFunctional/resources/private-visibility/src/main/kotlin/main.kt b/kopy-gradle-plugin/testFunctional/resources/private-visibility/src/main/kotlin/main.kt index 616c760..cb2ce1d 100644 --- a/kopy-gradle-plugin/testFunctional/resources/private-visibility/src/main/kotlin/main.kt +++ b/kopy-gradle-plugin/testFunctional/resources/private-visibility/src/main/kotlin/main.kt @@ -1,4 +1,4 @@ -package com.javiersc.kotlin.kopy.functiona.test +package com.javiersc.kotlin.kopy.functional.test import com.javiersc.kotlin.kopy.Kopy diff --git a/kopy-gradle-plugin/testFunctional/resources/simple/build.gradle.kts b/kopy-gradle-plugin/testFunctional/resources/simple/build.gradle.kts index 57d2cef..a892e02 100644 --- a/kopy-gradle-plugin/testFunctional/resources/simple/build.gradle.kts +++ b/kopy-gradle-plugin/testFunctional/resources/simple/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } application { - mainClass = "com.javiersc.kotlin.kopy.functiona.test.MainKt" + mainClass = "com.javiersc.kotlin.kopy.functional.test.MainKt" } kopy { diff --git a/kopy-gradle-plugin/testFunctional/resources/simple/src/main/kotlin/main.kt b/kopy-gradle-plugin/testFunctional/resources/simple/src/main/kotlin/main.kt index 616c760..cb2ce1d 100644 --- a/kopy-gradle-plugin/testFunctional/resources/simple/src/main/kotlin/main.kt +++ b/kopy-gradle-plugin/testFunctional/resources/simple/src/main/kotlin/main.kt @@ -1,4 +1,4 @@ -package com.javiersc.kotlin.kopy.functiona.test +package com.javiersc.kotlin.kopy.functional.test import com.javiersc.kotlin.kopy.Kopy