Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/contracts/contractOnInfixFunction.fir.txt
T
Dmitriy Novozhilov aef9b129d2 [FIR] Add regression tests for number of issues fixed in K2
List of issues:
KT-4113,  KT-6822,  KT-7389,  KT-17817, KT-20223
KT-21463, KT-24503, KT-24737, KT-24779, KT-24901
KT-27261, KT-28668, KT-30497, KT-30756, KT-36958
KT-37365, KT-37490, KT-38288, KT-41038, KT-41721
KT-42136, KT-42169, KT-42449, KT-42715, KT-43553
KT-43603, KT-43846, KT-43936, KT-46288, KT-46301
KT-47373, KT-47484, KT-47490, KT-47495, KT-47750
KT-47815, KT-47870, KT-48975, KT-49024, KT-49045
KT-50134, KT-50160, KT-50550, KT-51045, KT-51143
KT-51796, KT-52262, KT-52424, KT-52860, KT-52934
KT-53086, KT-53494, KT-53671, KT-53752, KT-53819
KT-54478, KT-54518, KT-54931, KT-54990, KT-55138
KT-55379, KT-55555, KT-56243
2023-02-14 17:08:55 +00:00

48 lines
2.0 KiB
Plaintext
Vendored

FILE: contractOnInfixFunction.kt
@R|kotlin/OptIn|(markerClass = vararg(<getClass>(Q|kotlin/contracts/ExperimentalContracts|))) public final infix fun R|kotlin/Boolean|.takeRight(cond: R|kotlin/Boolean|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(TRUE) -> cond
>
{
{
R|kotlin/contracts/contract|(<L> = contract@fun R|kotlin/contracts/ContractBuilder|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.returns|(Boolean(true)).R|kotlin/contracts/SimpleEffect.implies|(R|<local>/cond|)
}
)
}
^takeRight R|<local>/cond|
}
@R|kotlin/OptIn|(markerClass = vararg(<getClass>(Q|kotlin/contracts/ExperimentalContracts|))) public final infix fun R|kotlin/Boolean?|.ensureLeft(x: R|kotlin/Any|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(TRUE) -> this != null
>
{
{
R|kotlin/contracts/contract|(<L> = contract@fun R|kotlin/contracts/ContractBuilder|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
this@R|special/anonymous|.R|kotlin/contracts/ContractBuilder.returns|(Boolean(true)).R|kotlin/contracts/SimpleEffect.implies|(!=(this@R|/ensureLeft|, Null(null)))
}
)
}
^ensureLeft !=(this@R|/ensureLeft|, Null(null))
}
public final fun test_1(b: R|kotlin/Boolean|, x: R|kotlin/Any|): R|kotlin/Unit| {
when () {
R|<local>/b|.R|/takeRight|((R|<local>/x| is R|kotlin/String|)) -> {
R|<local>/x|.R|kotlin/String.length|
}
}
}
public final fun test_2(b: R|kotlin/Boolean?|, x: R|kotlin/Any|): R|kotlin/Unit| {
when () {
R|<local>/b|.R|/ensureLeft|((R|<local>/x| is R|kotlin/String|)) -> {
R|<local>/b|.R|kotlin/Boolean.not|()
}
}
}