Evaluate expression: pass this as first parameter

This commit is contained in:
Natalia Ukhorskaya
2014-05-21 16:46:37 +04:00
parent a2f369b610
commit ec6809ccae
3 changed files with 11 additions and 7 deletions
@@ -161,12 +161,12 @@ class KotlinEvaluator(val codeFragment: JetCodeFragment,
private fun JetNamedFunction.getParameterNamesForDebugger(): List<String> { private fun JetNamedFunction.getParameterNamesForDebugger(): List<String> {
val result = arrayListOf<String>() val result = arrayListOf<String>()
for (param in getValueParameters()) {
result.add(param.getName()!!)
}
if (getReceiverTypeRef() != null) { if (getReceiverTypeRef() != null) {
result.add("this") result.add("this")
} }
for (param in getValueParameters()) {
result.add(param.getName()!!)
}
return result return result
} }
@@ -1,7 +1,7 @@
LineBreakpoint created at extractThis.kt:12 LineBreakpoint created at extractThis.kt:13
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!RT_JAR! extractThis.ExtractThisPackage !JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!RT_JAR! extractThis.ExtractThisPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
extractThis.kt:11 extractThis.kt:12
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0 Process finished with exit code 0
@@ -8,8 +8,9 @@ class MyClass {
val prop = 1 val prop = 1
fun test() { fun test() {
//Breakpoint!
val a = 1 val a = 1
//Breakpoint!
val b = 1
} }
} }
@@ -17,4 +18,7 @@ class MyClass {
// RESULT: 1: I // RESULT: 1: I
// EXPRESSION: this.prop // EXPRESSION: this.prop
// RESULT: 1: I // RESULT: 1: I
// EXPRESSION: prop + a
// RESULT: 2: I