Correct labels for local variables

This commit is contained in:
Natalia Ukhorskaya
2014-12-19 15:22:13 +03:00
parent 1422cc4794
commit 261ced59c5
4 changed files with 44 additions and 1 deletions
@@ -205,7 +205,11 @@ private fun addDebugExpressionBeforeContextElement(codeFragment: JetCodeFragment
}
contextElement is JetDeclarationWithBody && contextElement.hasBlockBody()-> {
val block = contextElement.getBodyExpression() as JetBlockExpression
block.getStatements().firstOrNull() ?: block.getLastChild()
val last = block.getStatements().lastOrNull()
if (last is JetReturnExpression)
last
else
block.getRBrace()
}
contextElement is JetWhenEntry -> {
val entryExpression = contextElement.getExpression()
@@ -0,0 +1,23 @@
LineBreakpoint created at frameClosingBracket.kt:6
!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!;!CUSTOM_LIBRARY!;!RT_JAR! frameClosingBracket.FrameClosingBracketPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
frameClosingBracket.kt:6
Compile bytecode for a
package frameClosingBracket
fun main(args: Array<String>) {
val a = 1
//Breakpoint!
}
// PRINT_FRAME
// EXPRESSION: a
// RESULT: 1: I
frame = main():6, FrameClosingBracketPackage$@packagePartHASH {frameClosingBracket}
static = static = frameClosingBracket.FrameClosingBracketPackage$@packagePartHASH
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = a: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,10 @@
package frameClosingBracket
fun main(args: Array<String>) {
val a = 1
//Breakpoint!
}
// PRINT_FRAME
// EXPRESSION: a
// RESULT: 1: I
@@ -240,6 +240,12 @@ public class KotlinEvaluateExpressionTestGenerated extends AbstractKotlinEvaluat
doSingleBreakpointTest(fileName);
}
@TestMetadata("frameClosingBracket.kt")
public void testFrameClosingBracket() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/frameClosingBracket.kt");
doSingleBreakpointTest(fileName);
}
@TestMetadata("frameExtFunExtFun.kt")
public void testFrameExtFunExtFun() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/singleBreakpoint/frame/frameExtFunExtFun.kt");