FIR: avoid resolve loop between accessor and other members
#KT-48634 Fixed
This commit is contained in:
committed by
teamcityserver
parent
72fa330576
commit
19a75b31f9
+73
@@ -0,0 +1,73 @@
|
||||
FILE: accessInSetter.kt
|
||||
public final class DrawableGrid : R|kotlin/Any| {
|
||||
public constructor(isEnabled: R|kotlin/Boolean|): R|DrawableGrid| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final var isEnabled: R|kotlin/Boolean| = R|<local>/isEnabled|
|
||||
public get(): R|kotlin/Boolean|
|
||||
public set(value: R|kotlin/Boolean|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final class My : R|kotlin/Any| {
|
||||
public constructor(): R|My| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final val drawableGrid: R|DrawableGrid| = this@R|/My|.R|/My.createDrawableGrid|()
|
||||
private get(): R|DrawableGrid|
|
||||
|
||||
private final var useAll: R|kotlin/Boolean| = Boolean(false)
|
||||
private get(): R|kotlin/Boolean|
|
||||
private set(value: R|kotlin/Boolean|): R|kotlin/Unit| {
|
||||
this@R|/My|.R|/My.drawableGrid|.R|/DrawableGrid.isEnabled| = R|<local>/value|.R|kotlin/Boolean.not|()
|
||||
}
|
||||
|
||||
private final fun createDrawableGrid(): R|DrawableGrid| {
|
||||
^createDrawableGrid R|/DrawableGrid.DrawableGrid|(Boolean(false)).R|kotlin/apply|<R|DrawableGrid|>(<L> = apply@fun R|DrawableGrid|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
|
||||
when () {
|
||||
this@R|/My|.R|/My.useAll| -> {
|
||||
Int(-1)
|
||||
}
|
||||
else -> {
|
||||
Int(0)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
public final class Your : R|kotlin/Any| {
|
||||
public constructor(): R|Your| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final val drawableGrid: R|DrawableGrid| = this@R|/Your|.R|/Your.createDrawableGrid|()
|
||||
private get(): R|DrawableGrid|
|
||||
|
||||
private final var useAll: R|kotlin/Boolean|
|
||||
private get(): R|kotlin/Boolean| {
|
||||
^ Boolean(false)
|
||||
}
|
||||
private set(value: R|kotlin/Boolean|): R|kotlin/Unit| {
|
||||
this@R|/Your|.R|/Your.drawableGrid|.R|/DrawableGrid.isEnabled| = R|<local>/value|.R|kotlin/Boolean.not|()
|
||||
}
|
||||
|
||||
private final fun createDrawableGrid(): R|DrawableGrid| {
|
||||
^createDrawableGrid R|/DrawableGrid.DrawableGrid|(Boolean(false)).R|kotlin/apply|<R|DrawableGrid|>(<L> = apply@fun R|DrawableGrid|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
|
||||
when () {
|
||||
this@R|/Your|.R|/Your.useAll| -> {
|
||||
Int(-1)
|
||||
}
|
||||
else -> {
|
||||
Int(0)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
class DrawableGrid(var isEnabled: Boolean)
|
||||
|
||||
class My {
|
||||
private val drawableGrid = createDrawableGrid()
|
||||
|
||||
private var useAll = false
|
||||
set(value) {
|
||||
drawableGrid.isEnabled = !value
|
||||
}
|
||||
|
||||
private fun createDrawableGrid() = DrawableGrid(false).apply {
|
||||
if (useAll) -1 else 0
|
||||
}
|
||||
}
|
||||
|
||||
class Your {
|
||||
private val drawableGrid = createDrawableGrid()
|
||||
|
||||
private var useAll
|
||||
get() = false
|
||||
set(value) {
|
||||
drawableGrid.isEnabled = !value
|
||||
}
|
||||
|
||||
private fun createDrawableGrid() = DrawableGrid(false).apply {
|
||||
if (useAll) -1 else 0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user