From 9f041b955501f12747ca027cdf39bc960fe16a43 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Fri, 5 Jun 2015 13:11:23 +0300 Subject: [PATCH] Field watchpoints: render message in status bar properly --- .../breakpoints/KotlinFieldBreakpointType.kt | 59 ++++++++++++++++++- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt index a407b3e4917..b90aa49e120 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/breakpoints/KotlinFieldBreakpointType.kt @@ -38,6 +38,7 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpoint import com.intellij.xdebugger.breakpoints.XLineBreakpointType import com.intellij.xdebugger.breakpoints.ui.XBreakpointCustomPropertiesPanel import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider +import com.sun.jdi.AbsentInformationException import com.sun.jdi.Method import com.sun.jdi.ObjectCollectedException import com.sun.jdi.ReferenceType @@ -427,8 +428,62 @@ class KotlinFieldBreakpoint(project: Project, breakpoint: XBreakpoint { + val field = event.field() + return DebuggerBundle.message( + "status.static.field.watchpoint.reached.access", + field.declaringType().name(), + field.name(), + locationQName, + locationFileName, + locationLine) + } + is AccessWatchpointEvent -> { + val field = event.field() + return DebuggerBundle.message( + "status.static.field.watchpoint.reached.access", + field.declaringType().name(), + field.name(), + locationQName, + locationFileName, + locationLine) + } + is MethodEntryEvent -> { + val method = event.method() + return DebuggerBundle.message( + "status.method.entry.breakpoint.reached", + method.declaringType().name() + "." + method.name() + "()", + locationQName, + locationFileName, + locationLine) + } + is MethodExitEvent -> { + val method = event.method() + return DebuggerBundle.message( + "status.method.exit.breakpoint.reached", + method.declaringType().name() + "." + method.name() + "()", + locationQName, + locationFileName, + locationLine) + } + } + return DebuggerBundle.message( + "status.line.breakpoint.reached", + locationQName, + locationFileName, + locationLine) } fun setFieldName(fieldName: String) {