[JS IR] Make tests that use directives pass with IR BE

This commit is contained in:
Sergej Jaskiewicz
2021-10-04 20:44:06 +03:00
committed by Space
parent a359e503fb
commit 65d40c2253
101 changed files with 415 additions and 217 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
// EXPECTED_REACHABLE_NODES: 1281
package foo
// CHECK_FUNCTIONS_HAVE_SAME_LINES: syntaxTestInline syntaxTest
// CHECK_FUNCTIONS_HAVE_SAME_LINES: syntaxTestInline syntaxTest TARGET_BACKENDS=JS
inline fun syntaxTestInline() {
var result: Int = -0
+2 -1
View File
@@ -1,5 +1,6 @@
// EXPECTED_REACHABLE_NODES: 1288
// CHECK_CONTAINS_NO_CALLS: box except=equals;Baz_getInstance;callLocal;callLocalExtension
// CHECK_CONTAINS_NO_CALLS: box except=equals;Baz_getInstance;callLocal;callLocalExtension TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: box except=Foo_getInstance;Bar;Baz_getInstance;callLocal;callLocalExtension IGNORED_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: callLocal
// CHECK_CONTAINS_NO_CALLS: callLocalExtension
+6 -1
View File
@@ -1,7 +1,12 @@
// EXPECTED_REACHABLE_NODES: 1284
package foo
// CHECK_CONTAINS_NO_CALLS: multiplyInline except=imul
// CHECK_CONTAINS_NO_CALLS: multiplyInline except=imul TARGET_BACKENDS=JS
// FIXME: Not inlined on IR BE
// CHECK_CONTAINS_NO_CALLS: multiplyInline except=multiply_0 IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: runNoinline
// CHECK_NOT_CALLED: runNoinline
internal inline fun multiply(a: Int, b: Int) = a * b
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1283
package foo
// CHECK_CONTAINS_NO_CALLS: test
// CHECK_CONTAINS_NO_CALLS: test except=Unit_getInstance
// A copy of stdlib run function.
// Copied to not to depend on run implementation.
@@ -1,16 +1,16 @@
// EXPECTED_REACHABLE_NODES: 1285
package foo
// CHECK_NOT_CALLED_IN_SCOPE: scope=multiply function=multiply$lambda
// CHECK_CONTAINS_NO_CALLS: myMultiply except=A;imul
internal class A(val a: Int)
internal inline fun <T, R> with2(receiver: T, arg1: R, arg2: R, f: T.(R, R) -> R): R = receiver.f(arg1, arg2)
internal fun multiply(a: Int, b: Int, c: Int): Int = with2(A(a), b, c) { x, y -> a*x*y }
internal fun myMultiply(a: Int, b: Int, c: Int): Int = with2(A(a), b, c) { x, y -> a*x*y }
fun box(): String {
assertEquals(105, multiply(3, 5, 7))
assertEquals(105, myMultiply(3, 5, 7))
return "OK"
}
@@ -1,7 +1,8 @@
// EXPECTED_REACHABLE_NODES: 1286
package foo
// CHECK_CONTAINS_NO_CALLS: test
// CHECK_CONTAINS_NO_CALLS: test TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: test_0_k$ except=Unit_getInstance IGNORED_BACKENDS=JS
inline fun block(p: () -> Unit) = p()
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1292
package foo
// CHECK_CONTAINS_NO_CALLS: maxBySquare except=imul
// CHECK_CONTAINS_NO_CALLS: maxBySquare except=imul;Unit_getInstance
internal data class Result(var value: Int = 0, var invocationCount: Int = 0)
+3 -3
View File
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1296
package foo
// CHECK_CONTAINS_NO_CALLS: add
// CHECK_CONTAINS_NO_CALLS: myAdd
internal data class IntPair(public var fst: Int, public var snd: Int) {
inline public fun getFst(): Int { return fst }
@@ -11,7 +11,7 @@ internal data class IntPair(public var fst: Int, public var snd: Int) {
inline public fun setSnd(v: Int) { this.snd = v }
}
internal fun add(p: IntPair, toFst: Int, toSnd: Int) {
internal fun myAdd(p: IntPair, toFst: Int, toSnd: Int) {
val fst = p.getFst()
p.setFst(fst + toFst)
@@ -21,7 +21,7 @@ internal fun add(p: IntPair, toFst: Int, toSnd: Int) {
fun box(): String {
val p = IntPair(0, 0)
add(p, 1, 2)
myAdd(p, 1, 2)
assertEquals(IntPair(1, 2), p)
return "OK"
+1 -1
View File
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1286
package foo
// CHECK_CONTAINS_NO_CALLS: factAbsNoInline1 except=imul
// CHECK_CONTAINS_NO_CALLS: factAbsNoInline1 except=imul;Unit_getInstance
internal class State(value: Int) {
public var value: Int = value
+1 -1
View File
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1284
package foo
// CHECK_FUNCTIONS_HAVE_SAME_LINES: declaredBefore declaredAfter match=(h|g)1 replace=$1
// CHECK_FUNCTIONS_HAVE_SAME_LINES: declaredBefore declaredAfter match=(h|g)1 replace=$1 TARGET_BACKENDS=JS
fun declaredBefore(): Int {
val a = g() + h()
+2 -2
View File
@@ -1,6 +1,6 @@
// EXPECTED_REACHABLE_NODES: 1375
// CHECK_CONTAINS_NO_CALLS: testDispatch
// CHECK_CONTAINS_NO_CALLS: testExtension
// CHECK_CONTAINS_NO_CALLS: testDispatch except=Unit_getInstance
// CHECK_CONTAINS_NO_CALLS: testExtension except=Unit_getInstance
class Bar {
inline operator fun invoke(f: () -> String) { f() }
}
+3 -1
View File
@@ -1,7 +1,9 @@
// EXPECTED_REACHABLE_NODES: 1283
package foo
// CHECK_CONTAINS_NO_CALLS: test
// In the IR backend the injected JS code is outlined.
// CHECK_CONTAINS_NO_CALLS: test TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=sum scope=test
internal inline fun sum(x: Int, y: Int): Int = js("x + y")
+3 -1
View File
@@ -1,7 +1,9 @@
// EXPECTED_REACHABLE_NODES: 1283
package foo
// CHECK_CONTAINS_NO_CALLS: test
// In the IR backend the injected JS code is outlined.
// CHECK_CONTAINS_NO_CALLS: test TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=sum scope=test
internal inline fun sum(x: Int, y: Int): Int = js("var a = x; a + y")
@@ -1,8 +1,8 @@
// EXPECTED_REACHABLE_NODES: 1292
package foo
// CHECK_CONTAINS_NO_CALLS: capturedInLambda
// CHECK_CONTAINS_NO_CALLS: declaredInLambda
// CHECK_CONTAINS_NO_CALLS: capturedInLambda except=Unit_getInstance
// CHECK_CONTAINS_NO_CALLS: declaredInLambda except=Unit_getInstance
internal data class State(var count: Int = 0)
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1284
package foo
// CHECK_CONTAINS_NO_CALLS: localWithCapture
// CHECK_CONTAINS_NO_CALLS: localWithCapture except=Unit_getInstance
// CHECK_CONTAINS_NO_CALLS: localWithoutCapture
internal inline fun repeatAction(times: Int, action: () -> Unit) {
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1291
package foo
// CHECK_CONTAINS_NO_CALLS: add
// CHECK_CONTAINS_NO_CALLS: addToState
internal data class State(var count: Int = 0)
@@ -11,7 +11,7 @@ internal inline fun repeatAction(times: Int, action: () -> Unit) {
}
}
internal fun add(state: State, a: Int, b: Int): Int {
internal fun addToState(state: State, a: Int, b: Int): Int {
inline fun inc(a: Int): Int {
return a + 1
}
@@ -38,7 +38,7 @@ internal fun add(state: State, a: Int, b: Int): Int {
}
fun box(): String {
assertEquals(20, add(State(), 4, 5))
assertEquals(20, addToState(State(), 4, 5))
return "OK"
}
@@ -1,7 +1,7 @@
// EXPECTED_REACHABLE_NODES: 1284
package foo
// CHECK_CONTAINS_NO_CALLS: localWithCapture
// CHECK_CONTAINS_NO_CALLS: localWithCapture except=Unit_getInstance
// CHECK_CONTAINS_NO_CALLS: localWithoutCapture
internal inline fun repeatAction(times: Int, action: () -> Unit) {
@@ -1,13 +1,13 @@
// EXPECTED_REACHABLE_NODES: 1283
package foo
// CHECK_CONTAINS_NO_CALLS: add
// CHECK_CONTAINS_NO_CALLS: myAdd
internal inline fun run(action: () -> Int): Int {
return action()
}
internal fun add(a: Int, b: Int): Int {
internal fun myAdd(a: Int, b: Int): Int {
var sum = a + b
inline fun getSum(): Int {
@@ -25,7 +25,7 @@ internal fun add(a: Int, b: Int): Int {
}
fun box(): String {
assertEquals(3, add(1, 2))
assertEquals(3, myAdd(1, 2))
return "OK"
}
@@ -4,13 +4,14 @@ package foo
// CHECK_CONTAINS_NO_CALLS: test1 except=imul
// CHECK_CONTAINS_NO_CALLS: test2 except=imul
// CHECK_CONTAINS_NO_CALLS: test3 except=imul
// CHECK_CONTAINS_NO_CALLS: test4_buocd8$ except=imul
// CHECK_CONTAINS_NO_CALLS: test5 except=imul
// CHECK_HAS_INLINE_METADATA: apply
// CHECK_HAS_INLINE_METADATA: applyL_h43q6c$
// CHECK_HAS_INLINE_METADATA: applyM_h43q6c$
// CHECK_HAS_INLINE_METADATA: applyN_h43q6c$
// CHECK_HAS_NO_INLINE_METADATA: applyO_h43q6c$
// CHECK_CONTAINS_NO_CALLS: test4_buocd8$ except=imul TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: test4_o4gm63_k$ except=imul IGNORED_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: test5 except=imul;OInner_getInstance
// CHECK_HAS_INLINE_METADATA: apply TARGET_BACKENDS=JS
// CHECK_HAS_INLINE_METADATA: applyL_h43q6c$ TARGET_BACKENDS=JS
// CHECK_HAS_INLINE_METADATA: applyM_h43q6c$ TARGET_BACKENDS=JS
// CHECK_HAS_INLINE_METADATA: applyN_h43q6c$ TARGET_BACKENDS=JS
// CHECK_HAS_NO_INLINE_METADATA: applyO_h43q6c$ TARGET_BACKENDS=JS
inline
public fun <T> apply(arg: T, func: (T)->T): T = func(arg)
+40 -8
View File
@@ -1,12 +1,44 @@
// EXPECTED_REACHABLE_NODES: 1301
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_za3lpa$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=plus scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=get_za3lpa$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_vux9f0$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=dec scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=minus_za3lpa$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke_dqglrj$ scope=test
// CHECK_FUNCTION_EXISTS: plus_za3lpa$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_za3lpa$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: plus_ha5a7z_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_ha5a7z_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: plus TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: plus_0 IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_0 scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: invoke TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: invoke_0_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke_0_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: get_za3lpa$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_za3lpa$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: get_ha5a7z_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_ha5a7z_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_vux9f0$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_vux9f0$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_rvwcgf_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_rvwcgf_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: dec TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=dec scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: dec_0_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=dec_0_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: minus_za3lpa$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=minus_za3lpa$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: minus_ha5a7z_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=minus_ha5a7z_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: invoke_dqglrj$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke_dqglrj$ scope=test TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: invoke_tg9lle_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=invoke_tg9lle_k$ scope=test_0_k$ IGNORED_BACKENDS=JS
class A {
inline operator fun plus(a: Int) = a + 10
+92 -29
View File
@@ -3,64 +3,100 @@ package test
var a = 0
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p1 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p1 scope=box
// CHECK_FUNCTION_EXISTS: get_p1 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p1 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p1 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p1 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p1_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p1_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p1_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p1_ scope=box IGNORED_BACKENDS=JS
private inline var p1: Int
get() = a + 10000
set(v) {
a = v + 100
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p2 scope=box
// CHECK_CALLED_IN_SCOPE: function=set_p2 scope=box
// CHECK_FUNCTION_EXISTS: get_p2 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p2 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=set_p2 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p2_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p2_ scope=box IGNORED_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_set_p2_ scope=box IGNORED_BACKENDS=JS
private var p2: Int
inline get() = a + 20000
set(v) {
a = v + 200
}
// CHECK_CALLED_IN_SCOPE: function=get_p3 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p3 scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p3 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p3 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p3 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p3_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p3_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p3_ scope=box IGNORED_BACKENDS=JS
var p3: Int
get() = a + 30000
private inline set(v) {
a = v + 300
}
// CHECK_CALLED_IN_SCOPE: function=get_p4 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p4 scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p4 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p4 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p4 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p4_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p4_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p4_ scope=box IGNORED_BACKENDS=JS
private var p4: Int
get() = a + 40000
inline set(v) {
a = v + 400
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p5 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p5 scope=box
// CHECK_FUNCTION_EXISTS: get_p5 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p5 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p5 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p5 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p5_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p5_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p5_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p5_ scope=box IGNORED_BACKENDS=JS
private inline var Int.p5: Int
get() = this * 100 + a + 50000
set(v) {
a = this + v + 500
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p6 scope=box
// CHECK_CALLED_IN_SCOPE: function=set_p6 scope=box
// CHECK_FUNCTION_EXISTS: get_p6 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p6 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=set_p6 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p6_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p6_ scope=box IGNORED_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_set_p6_ scope=box IGNORED_BACKENDS=JS
private var Int.p6: Int
inline get() = this * 100 + a + 60000
set(v) {
a = this + v + 600
}
// CHECK_CALLED_IN_SCOPE: function=get_p7 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p7 scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p7 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p7 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p7 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p7_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p7_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p7_ scope=box IGNORED_BACKENDS=JS
var Int.p7: Int
get() = this * 100 + a + 70000
private inline set(v) {
a = this + v + 700
}
// CHECK_CALLED_IN_SCOPE: function=get_p8 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p8 scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p8 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p8 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p8 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p8_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p8_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p8_ scope=box IGNORED_BACKENDS=JS
private var Int.p8: Int
get() = this * 100 + a + 80000
inline set(v) {
@@ -90,24 +126,38 @@ private class A {
a = v + 1100
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p12_s8ev3n$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p12_dqglrj$ scope=box
// CHECK_FUNCTION_EXISTS: get_p12_s8ev3n$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p12_s8ev3n$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p12_dqglrj$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p12_dqglrj$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p12__quadv7_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p12__quadv7_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p12__e5dl2b_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p12__e5dl2b_k$ scope=box IGNORED_BACKENDS=JS
inline var Int.p12: Int
get() = this * 100 + a + 120000
set(v) {
a = this + v + 1200
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p13_s8ev3n$ scope=box
// CHECK_CALLED_IN_SCOPE: function=set_p13_dqglrj$ scope=box
// CHECK_FUNCTION_EXISTS: get_p13_s8ev3n$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p13_s8ev3n$ scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=set_p13_dqglrj$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p13__quadv7_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p13__quadv7_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_set_p13__e5dl2b_k$ scope=box IGNORED_BACKENDS=JS
var Int.p13: Int
inline get() = this * 100 + a + 130000
set(v) {
a = this + v + 1300
}
// CHECK_CALLED_IN_SCOPE: function=get_p14_s8ev3n$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p14_dqglrj$ scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p14_s8ev3n$ scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p14_dqglrj$ TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p14_dqglrj$ scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p14__quadv7_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p14__e5dl2b_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p14__e5dl2b_k$ scope=box IGNORED_BACKENDS=JS
var Int.p14: Int
get() = this * 100 + a + 140000
inline set(v) {
@@ -115,25 +165,38 @@ private class A {
}
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p15 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p15 scope=box
// CHECK_FUNCTION_EXISTS: get_p15 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p15 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p15 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p15 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p15_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p15_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p15_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p15_ scope=box IGNORED_BACKENDS=JS
private inline var A.p15: Int
get() = a + 150000
set(v) {
a = v + 1500
}
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p16 scope=box
// CHECK_CALLED_IN_SCOPE: function=set_p16 scope=box
// CHECK_FUNCTION_EXISTS: get_p16 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=get_p16 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=set_p16 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _get_p16_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_get_p16_ scope=box IGNORED_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_set_p16_ scope=box IGNORED_BACKENDS=JS
private var A.p16: Int
inline get() = a + 160000
set(v) {
a = v + 1600
}
// CHECK_CALLED_IN_SCOPE: function=get_p17 scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p17 scope=box
// CHECK_CALLED_IN_SCOPE: function=get_p17 scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: set_p17 TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=set_p17 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=_get_p17_ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: _set_p17_ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=_set_p17_ scope=box IGNORED_BACKENDS=JS
private var A.p17: Int
get() = a + 170000
inline set(v) {