mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 21:55:01 +07:00
[debugger] Add information about instrumentation into tooltip and change icon in internal mode
IDEA-370744 GitOrigin-RevId: 722588b3ca4394e99c818229861a6cd479e19ce5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
68861d943b
commit
bf4af1f8a4
+29
@@ -9,13 +9,16 @@ import com.intellij.debugger.SourcePosition;
|
||||
import com.intellij.debugger.engine.DebugProcess;
|
||||
import com.intellij.debugger.engine.DebugProcessImpl;
|
||||
import com.intellij.debugger.engine.DebuggerManagerThreadImpl;
|
||||
import com.intellij.debugger.engine.InstrumentationBreakpointState;
|
||||
import com.intellij.debugger.engine.JVMNameUtil;
|
||||
import com.intellij.debugger.engine.JavaDebugProcess;
|
||||
import com.intellij.debugger.engine.events.DebuggerCommandImpl;
|
||||
import com.intellij.debugger.engine.requests.RequestManagerImpl;
|
||||
import com.intellij.debugger.impl.DebuggerContextImpl;
|
||||
import com.intellij.debugger.impl.DebuggerSession;
|
||||
import com.intellij.debugger.impl.DebuggerUtilsEx;
|
||||
import com.intellij.debugger.jdi.VirtualMachineProxyImpl;
|
||||
import com.intellij.debugger.settings.DebuggerSettings;
|
||||
import com.intellij.debugger.statistics.StatisticsStorage;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
@@ -32,6 +35,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.ui.LayeredIcon;
|
||||
import com.intellij.ui.classFilter.ClassFilter;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.SlowOperations;
|
||||
@@ -176,6 +180,21 @@ public abstract class BreakpointWithHighlighter<P extends JavaBreakpointProperti
|
||||
return getVerifiedWarningsIcon(muted);
|
||||
}
|
||||
|
||||
InstrumentationBreakpointState info = requestsManager.getInstrumentationInfo(this);
|
||||
if (info != null && info.isInstrumentationModeEnabled() && ApplicationManager.getApplication().isInternal()) {
|
||||
LayeredIcon newIcon = new LayeredIcon(2);
|
||||
Icon breakpointIcon;
|
||||
if (DebuggerSettings.SUSPEND_NONE.equals(getSuspendPolicy())) {
|
||||
breakpointIcon = AllIcons.Debugger.Db_no_suspend_breakpoint;
|
||||
}
|
||||
else {
|
||||
breakpointIcon = AllIcons.Debugger.Db_set_breakpoint;
|
||||
}
|
||||
newIcon.setIcon(breakpointIcon, 0);
|
||||
newIcon.setIcon(AllIcons.Nodes.Module8x8, 1, 0, 0);
|
||||
return newIcon;
|
||||
}
|
||||
|
||||
if (isVerified) {
|
||||
return getVerifiedIcon(muted);
|
||||
}
|
||||
@@ -246,6 +265,16 @@ public abstract class BreakpointWithHighlighter<P extends JavaBreakpointProperti
|
||||
}
|
||||
res.add(buf.toString());
|
||||
}
|
||||
|
||||
DebuggerManagerEx debuggerManager = DebuggerManagerEx.getInstanceEx(myProject);
|
||||
DebuggerSession activeDebuggerSession = debuggerManager.getContext().getDebuggerSession();
|
||||
if (activeDebuggerSession != null) {
|
||||
InstrumentationBreakpointState info = activeDebuggerSession.getProcess().getRequestsManager().getInstrumentationInfo(this);
|
||||
if (info != null && info.isInstrumentationModeEnabled()) {
|
||||
res.add(JavaDebuggerBundle.message("breakpoint.instrumented.note"));
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -344,6 +344,7 @@ breakpoint.properties.panel.option.instance.filters=&Instance filters:
|
||||
breakpoint.property.name.pass.count=Pass count:
|
||||
breakpoint.property.name.class.filters=Class filters:
|
||||
breakpoint.property.name.instance.filters=Instance filters:
|
||||
breakpoint.instrumented.note=Instrumented breakpoint
|
||||
error.absent.exception.breakpoint.class.name=No class name for exception breakpoint
|
||||
exception.breakpoint.console.message.location.info={0}:{1,number,#}
|
||||
exception.breakpoint.console.message.location.info.absent=No Debug Info
|
||||
|
||||
Reference in New Issue
Block a user