Do an ordinal step over while stepping over inlined calls in dex
(cherry picked from commit d741895)
This commit is contained in:
committed by
Nikolay Krasko
parent
b6460e6280
commit
06b72e608e
@@ -0,0 +1,18 @@
|
||||
package inlineInIfFalseDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val bar = ""
|
||||
//Breakpoint!
|
||||
if (inlineCall { true }) {
|
||||
foo()
|
||||
}
|
||||
foo()
|
||||
}
|
||||
|
||||
fun foo() {}
|
||||
|
||||
inline fun inlineCall(predicate: (String?) -> Boolean): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
// STEP_OVER: 8
|
||||
@@ -0,0 +1,17 @@
|
||||
package inlineInIfTrueDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val bar = ""
|
||||
//Breakpoint!
|
||||
if (inlineCall { true }) {
|
||||
foo()
|
||||
}
|
||||
}
|
||||
|
||||
fun foo() {}
|
||||
|
||||
inline fun inlineCall(predicate: (String?) -> Boolean): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
// STEP_OVER: 6
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
package soInlineAnonymousFunctionArgumentDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint!
|
||||
val b = 1
|
||||
|
||||
foo(
|
||||
fun (){ test(1) }
|
||||
)
|
||||
|
||||
foo(fun (){ test(1) })
|
||||
}
|
||||
|
||||
inline fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
fun test(i: Int) = 1
|
||||
|
||||
// STEP_OVER: 10
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
package soInlineCallInLastStatementInInlineDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
bar()
|
||||
nop()
|
||||
}
|
||||
|
||||
inline fun bar() {
|
||||
//Breakpoint!
|
||||
nop()
|
||||
foo { 42 }
|
||||
}
|
||||
|
||||
inline fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
fun nop() {}
|
||||
|
||||
// STEP_OVER: 8
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package soInlineCallInLastStatementInInlineFunctionArgument
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
bar {
|
||||
nop()
|
||||
//Breakpoint!
|
||||
foo()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun bar(f: () -> Unit) {
|
||||
nop()
|
||||
f()
|
||||
}
|
||||
|
||||
inline fun foo() {
|
||||
nop()
|
||||
}
|
||||
|
||||
fun nop() {}
|
||||
|
||||
// STEP_OVER: 3
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package soInlineCallInLastStatementInInlineFunctionArgumentDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
bar {
|
||||
nop()
|
||||
//Breakpoint!
|
||||
foo()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun bar(f: () -> Unit) {
|
||||
nop()
|
||||
f()
|
||||
}
|
||||
|
||||
inline fun foo() {
|
||||
nop()
|
||||
}
|
||||
|
||||
fun nop() {}
|
||||
|
||||
// STEP_OVER: 5
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package soInlineWhileConditionDex
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint!
|
||||
var i = 1
|
||||
// inline in while condition (true)
|
||||
while (id { i < 2 }) {
|
||||
i++
|
||||
}
|
||||
|
||||
// inline in while condition (false)
|
||||
while (id { false }) {
|
||||
bar()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun id(f: () -> Boolean): Boolean {
|
||||
return f()
|
||||
}
|
||||
|
||||
fun bar() {}
|
||||
|
||||
// STEP_OVER: 12
|
||||
Reference in New Issue
Block a user