Skip to content

Commit

Permalink
Fix atomic
Browse files Browse the repository at this point in the history
  • Loading branch information
JavierSegoviaCordoba committed Aug 29, 2024
1 parent 3a04036 commit f1cc02c
Show file tree
Hide file tree
Showing 81 changed files with 662 additions and 437 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -136,7 +140,7 @@ internal class FirKopyDeclarationGenerationExtension(
config = {
status { isOverride = false }
modality = Modality.FINAL
visibility = calculateVisibility(owner)
visibility = atomicVisibility
},
)
return listOf(atomicProperty.symbol)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
30 changes: 15 additions & 15 deletions kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions kopy-compiler/test-data/box/edge/simple-1.fir.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ FILE: simple-1.kt
@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/House>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/House>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/House>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/House>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down Expand Up @@ -76,8 +76,8 @@ FILE: simple-1.kt
@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionUpdate|() public final infix fun <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Pet>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Pet>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Pet>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Pet>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down
58 changes: 29 additions & 29 deletions kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions kopy-compiler/test-data/box/nest-copy-set.fir.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Qux>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Qux>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Qux>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Qux>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down Expand Up @@ -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 <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Baz>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Baz>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Baz>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Baz>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down Expand Up @@ -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 <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Bar>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Bar>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Bar>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Bar>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down Expand Up @@ -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 <U> R|U|.update(transform: R|(U) -> U|): R|kotlin/Unit| {
}

public final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Foo>|
public get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Foo>|
internal final val _atomic: R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Foo>|
internal get(): R|kotlinx/atomicfu/AtomicRef<com/javiersc/kotlin/kopy/playground/Foo>|

@R|com/javiersc/kotlin/kopy/KopyOptIn|() @R|com/javiersc/kotlin/kopy/KopyFunctionSet|() public final infix fun <S> R|S|.set(other: R|S|): R|kotlin/Unit| {
}
Expand Down
Loading

0 comments on commit f1cc02c

Please sign in to comment.