From 226e6ebd531798265d93913647c90c57d4960f5a Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Tue, 17 Mar 2015 20:10:52 +0300 Subject: [PATCH] EA-66233 - NPE: ExceptionBreakpoint.getEventMessage --- .../com/intellij/debugger/impl/DebuggerUtilsEx.java | 10 ++++++++++ .../src/com/intellij/debugger/ui/ExportDialog.java | 2 +- .../debugger/ui/breakpoints/ExceptionBreakpoint.java | 5 +++-- .../debugger/ui/breakpoints/FieldBreakpoint.java | 3 ++- .../debugger/ui/breakpoints/LineBreakpoint.java | 4 ++-- .../debugger/ui/breakpoints/MethodBreakpoint.java | 2 +- .../ui/breakpoints/WildcardMethodBreakpoint.java | 2 +- 7 files changed, 20 insertions(+), 8 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java index 5bd576c109f6..cc471c47daf4 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java @@ -733,4 +733,14 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils { if (file == null) return null; return file.findElementAt(offset); } + + public static String getLocationMethodQName(@NotNull Location location) { + StringBuilder res = new StringBuilder(); + ReferenceType type = location.declaringType(); + if (type != null) { + res.append(type.name()).append('.'); + } + res.append(location.method().name()); + return res.toString(); + } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/ExportDialog.java b/java/debugger/impl/src/com/intellij/debugger/ui/ExportDialog.java index b67aaefcaf4d..eaf411262157 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/ExportDialog.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/ExportDialog.java @@ -235,7 +235,7 @@ public class ExportDialog extends DialogWrapper { } return DebuggerBundle.message( "export.threads.stackframe.format", - location.declaringType().name() + "." + location.method().name(), + DebuggerUtilsEx.getLocationMethodQName(location), sourceName, location.lineNumber() ); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpoint.java index e4f404e909c7..b2554e79dd7d 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpoint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/ExceptionBreakpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import com.intellij.debugger.DebuggerManagerEx; import com.intellij.debugger.SourcePosition; import com.intellij.debugger.engine.*; import com.intellij.debugger.engine.evaluation.EvaluateException; +import com.intellij.debugger.impl.DebuggerUtilsEx; import com.intellij.icons.AllIcons; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; @@ -177,7 +178,7 @@ public class ExceptionBreakpoint extends Breakpoint frames = event.thread().frames(); @@ -432,7 +432,7 @@ public class LineBreakpoint extends BreakpointWithHighlighter { else { builder.append(DebuggerBundle.message( "status.line.breakpoint.reached", - location.declaringType().name() + "." + location.method().name(), + DebuggerUtilsEx.getLocationMethodQName(location), sourceName, getLineIndex() + 1 )); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java index 48fccf559000..8510e7b204be 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/MethodBreakpoint.java @@ -180,7 +180,7 @@ public class MethodBreakpoint extends BreakpointWithHighlighter