Do not skip invoke call on parameters during smart step into (KT-18577)
#KT-18577 Fixed
This commit is contained in:
+50
@@ -0,0 +1,50 @@
|
||||
package smartStepIntoToLambdaParameter
|
||||
|
||||
fun nonDefaultParameter(paramFun: (Int) -> Int) {
|
||||
// SMART_STEP_INTO_BY_INDEX: 0
|
||||
// RESUME: 1
|
||||
//Breakpoint!
|
||||
paramFun(1)
|
||||
}
|
||||
|
||||
fun defaultParameter(f: (String) -> Int = { it.toInt() }) {
|
||||
// SMART_STEP_INTO_BY_INDEX: 0
|
||||
// RESUME: 1
|
||||
//Breakpoint!
|
||||
f("12")
|
||||
}
|
||||
|
||||
fun badSignatureIsSkipped(f: (String) -> Int = { it.toInt() }, paramFun: (Int) -> Int) {
|
||||
// SMART_STEP_INTO_BY_INDEX: 0
|
||||
// RESUME: 1
|
||||
//Breakpoint!
|
||||
paramFun(f("12"))
|
||||
}
|
||||
|
||||
fun nonDefaultWithAnonymousFun(paramFun: (Int) -> Int) {
|
||||
// SMART_STEP_INTO_BY_INDEX: 0
|
||||
// RESUME: 1
|
||||
//Breakpoint!
|
||||
paramFun(12)
|
||||
}
|
||||
|
||||
fun withExtensionParameters(paramFun: Int.() -> Int) {
|
||||
// SMART_STEP_INTO_BY_INDEX: 0
|
||||
// RESUME: 1
|
||||
//Breakpoint!
|
||||
12.paramFun()
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val localFun : (Int) -> Int = { it + 1 }
|
||||
|
||||
nonDefaultParameter(localFun)
|
||||
|
||||
defaultParameter()
|
||||
|
||||
badSignatureIsSkipped { it + 1 }
|
||||
|
||||
nonDefaultWithAnonymousFun(fun (i: Int): Int { return i })
|
||||
|
||||
withExtensionParameters { this }
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
LineBreakpoint created at smartStepIntoToLambdaParameter.kt:7
|
||||
LineBreakpoint created at smartStepIntoToLambdaParameter.kt:14
|
||||
LineBreakpoint created at smartStepIntoToLambdaParameter.kt:21
|
||||
LineBreakpoint created at smartStepIntoToLambdaParameter.kt:28
|
||||
LineBreakpoint created at smartStepIntoToLambdaParameter.kt:35
|
||||
Run Java
|
||||
Connected to the target VM
|
||||
smartStepIntoToLambdaParameter.kt:7
|
||||
smartStepIntoToLambdaParameter.kt:39
|
||||
smartStepIntoToLambdaParameter.kt:14
|
||||
smartStepIntoToLambdaParameter.kt:10
|
||||
smartStepIntoToLambdaParameter.kt:21
|
||||
smartStepIntoToLambdaParameter.kt:45
|
||||
smartStepIntoToLambdaParameter.kt:28
|
||||
smartStepIntoToLambdaParameter.kt:47
|
||||
smartStepIntoToLambdaParameter.kt:35
|
||||
smartStepIntoToLambdaParameter.kt:49
|
||||
Disconnected from the target VM
|
||||
|
||||
Process finished with exit code 0
|
||||
Reference in New Issue
Block a user