[JS IR] Add tests for checking constant inlining with JS IR IC

^KT-62425
This commit is contained in:
Alexander Korepanov
2023-10-11 16:48:12 +02:00
committed by Space Team
parent 4ebfed04d3
commit 91edbeb747
49 changed files with 543 additions and 0 deletions
@@ -0,0 +1,5 @@
class InlineChild : Class() {
inline fun inlineMethod(): String {
return "${CONST_VALUE}"
}
}
@@ -0,0 +1,5 @@
class InlineChild : Class() {
inline fun inlineMethod(): String {
return "4"
}
}
@@ -0,0 +1 @@
fun inlineChildProxy() = InlineChild().inlineMethod()
@@ -0,0 +1,3 @@
inline fun inlineFunction(): String {
return "${Class.CONST_VALUE}"
}
@@ -0,0 +1,3 @@
inline fun inlineFunction(): String {
return "4"
}
@@ -0,0 +1 @@
fun inlineFunctionProxy() = inlineFunction()
@@ -0,0 +1,38 @@
STEP 0:
dependencies: lib1
modifications:
U : inlineChild.0.6.kt -> inlineChild.kt
U : inlineChildProxy.0.kt -> inlineChildProxy.kt
U : inlineFunction.0.6.kt -> inlineFunction.kt
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
U : simpleChild.0.6.kt -> simpleChild.kt
U : simpleFunction.0.6.kt -> simpleFunction.kt
added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt
STEP 1..3:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
STEP 4:
dependencies: lib1
modifications:
U : inlineChild.4.kt -> inlineChild.kt
U : inlineFunction.4.kt -> inlineFunction.kt
U : simpleChild.4.kt -> simpleChild.kt
U : simpleFunction.4.kt -> simpleFunction.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
STEP 5:
dependencies: lib1
STEP 6:
dependencies: lib1
modifications:
U : inlineChild.0.6.kt -> inlineChild.kt
U : inlineFunction.0.6.kt -> inlineFunction.kt
U : simpleChild.0.6.kt -> simpleChild.kt
U : simpleFunction.0.6.kt -> simpleFunction.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
STEP 7:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
@@ -0,0 +1,43 @@
STEP 0:
dependencies: lib1
modifications:
U : inlineChild.0.6.kt -> inlineChild.kt
U : inlineChildProxy.0.kt -> inlineChildProxy.kt
U : inlineFunction.0.6.kt -> inlineFunction.kt
U : inlineFunctionProxy.0.kt -> inlineFunctionProxy.kt
U : simpleChild.0.6.kt -> simpleChild.kt
U : simpleFunction.0.6.kt -> simpleFunction.kt
added file: inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt, inlineFunctionProxy.kt, simpleChild.kt, simpleFunction.kt
STEP 1:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
STEP 2:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
STEP 3:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
STEP 4:
dependencies: lib1
modifications:
U : inlineChild.4.kt -> inlineChild.kt
U : inlineFunction.4.kt -> inlineFunction.kt
U : simpleChild.4.kt -> simpleChild.kt
U : simpleFunction.4.kt -> simpleFunction.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
STEP 5:
dependencies: lib1
STEP 6:
dependencies: lib1
modifications:
U : inlineChild.0.6.kt -> inlineChild.kt
U : inlineFunction.0.6.kt -> inlineFunction.kt
U : simpleChild.0.6.kt -> simpleChild.kt
U : simpleFunction.0.6.kt -> simpleFunction.kt
modified ir: simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineFunction.kt
updated imports: inlineFunctionProxy.kt, inlineChildProxy.kt
STEP 7:
dependencies: lib1
updated imports: inlineFunctionProxy.kt, simpleFunction.kt, simpleChild.kt, inlineChild.kt, inlineChildProxy.kt, inlineFunction.kt
@@ -0,0 +1,5 @@
class SimpleChild : Class() {
fun simpleMethod(): String {
return "${CONST_VALUE}"
}
}
@@ -0,0 +1,5 @@
class SimpleChild : Class() {
fun simpleMethod(): String {
return "4"
}
}
@@ -0,0 +1,3 @@
fun simpleFunction(): String {
return "${Class.CONST_VALUE}"
}
@@ -0,0 +1,3 @@
fun simpleFunction(): String {
return "4"
}