mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java move to xbreakpoints:
- fixed breakpoint groupping
This commit is contained in:
+11
-4
@@ -15,8 +15,11 @@
|
||||
*/
|
||||
package com.intellij.debugger.ui;
|
||||
|
||||
import com.intellij.debugger.DebuggerManagerEx;
|
||||
import com.intellij.debugger.ui.breakpoints.Breakpoint;
|
||||
import com.intellij.debugger.ui.breakpoints.BreakpointManager;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.xdebugger.breakpoints.XBreakpoint;
|
||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule;
|
||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointsGroupingPriorities;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -42,10 +45,14 @@ class XBreakpointGroupingByClassRule<B> extends XBreakpointGroupingRule<B, XBrea
|
||||
|
||||
@Override
|
||||
public XBreakpointClassGroup getGroup(@NotNull B b, @NotNull Collection<XBreakpointClassGroup> groups) {
|
||||
if (b instanceof Breakpoint) {
|
||||
final Breakpoint breakpoint = (Breakpoint)b;
|
||||
String className = breakpoint.getShortClassName();
|
||||
String packageName = breakpoint.getPackageName();
|
||||
if (b instanceof XBreakpoint) {
|
||||
BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(JavaDebuggerSupport.getCurrentProject()).getBreakpointManager();
|
||||
Breakpoint javaBreakpoint = breakpointManager.findBreakpoint((XBreakpoint)b);
|
||||
if (javaBreakpoint == null) {
|
||||
return null;
|
||||
}
|
||||
String className = javaBreakpoint.getShortClassName();
|
||||
String packageName = javaBreakpoint.getPackageName();
|
||||
if (className == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+10
-7
@@ -15,10 +15,12 @@
|
||||
*/
|
||||
package com.intellij.debugger.ui;
|
||||
|
||||
import com.intellij.debugger.ui.breakpoints.BreakpointWithHighlighter;
|
||||
import com.intellij.debugger.ui.breakpoints.ExceptionBreakpoint;
|
||||
import com.intellij.debugger.DebuggerManagerEx;
|
||||
import com.intellij.debugger.ui.breakpoints.Breakpoint;
|
||||
import com.intellij.debugger.ui.breakpoints.BreakpointManager;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.xdebugger.breakpoints.XBreakpoint;
|
||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule;
|
||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointsGroupingPriorities;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -41,11 +43,12 @@ public class XBreakpointGroupingByPackageRule<B> extends XBreakpointGroupingRule
|
||||
@Override
|
||||
public XBreakpointPackageGroup getGroup(@NotNull B breakpoint, @NotNull Collection<XBreakpointPackageGroup> groups) {
|
||||
String packageName = null;
|
||||
if (breakpoint instanceof BreakpointWithHighlighter) {
|
||||
packageName = ((BreakpointWithHighlighter)breakpoint).getPackageName();
|
||||
}
|
||||
else if (breakpoint instanceof ExceptionBreakpoint) {
|
||||
packageName = ((ExceptionBreakpoint)breakpoint).getPackageName();
|
||||
if (breakpoint instanceof XBreakpoint) {
|
||||
BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(JavaDebuggerSupport.getCurrentProject()).getBreakpointManager();
|
||||
Breakpoint javaBreakpoint = breakpointManager.findBreakpoint((XBreakpoint)breakpoint);
|
||||
if (javaBreakpoint != null) {
|
||||
packageName = javaBreakpoint.getPackageName();
|
||||
}
|
||||
}
|
||||
if (packageName == null) {
|
||||
return null;
|
||||
|
||||
@@ -389,6 +389,10 @@ public class BreakpointManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Breakpoint findBreakpoint(XBreakpoint xBreakpoint) {
|
||||
return myBreakpoints.get(xBreakpoint);
|
||||
}
|
||||
|
||||
private List<Element> myOriginalBreakpointsNodes = new ArrayList<Element>();
|
||||
|
||||
public void readExternal(@NotNull final Element parentNode) {
|
||||
@@ -584,6 +588,7 @@ public class BreakpointManager {
|
||||
Breakpoint breakpoint = createJavaBreakpoint(xBreakpoint);
|
||||
myBreakpoints.put(xBreakpoint, breakpoint);
|
||||
myBreakpointsListForIteration = null;
|
||||
breakpoint.updateUI();
|
||||
RequestManagerImpl.createRequests(breakpoint);
|
||||
myDispatcher.getMulticaster().breakpointsChanged();
|
||||
}
|
||||
@@ -621,6 +626,7 @@ public class BreakpointManager {
|
||||
public void writeExternal(@NotNull final Element parentNode) {
|
||||
// restore old breakpoints
|
||||
for (Element group : myOriginalBreakpointsNodes) {
|
||||
group.detach();
|
||||
for (Element breakpoint : group.getChildren("breakpoint")) {
|
||||
if (breakpoint.getAttribute(CONVERTED_PARAM) == null) {
|
||||
breakpoint.setAttribute(CONVERTED_PARAM, "true");
|
||||
|
||||
Reference in New Issue
Block a user