use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.
the class BreakpointsContextProvider method clearContext.
public void clearContext() {
final BreakpointManager breakpointManager = ((DebuggerManagerEx) myDebuggerManager).getBreakpointManager();
List<Breakpoint> breakpoints = breakpointManager.getBreakpoints();
for (final Breakpoint breakpoint : breakpoints) {
ApplicationManager.getApplication().runWriteAction(() -> breakpointManager.removeBreakpoint(breakpoint));
}
}
use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.
the class DebugProcessImpl method createResumeCommand.
@NotNull
public ResumeCommand createResumeCommand(SuspendContextImpl suspendContext, final PrioritizedTask.Priority priority) {
final BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(getProject()).getBreakpointManager();
return new ResumeCommand(suspendContext) {
@Override
public void contextAction() {
// clear the filter on resume
breakpointManager.applyThreadFilter(DebugProcessImpl.this, null);
if (myReturnValueWatcher != null) {
myReturnValueWatcher.clear();
}
super.contextAction();
}
@Override
public Priority getPriority() {
return priority;
}
};
}
use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.
the class ClassInstanceMethodFilter method setUpStepIntoBreakpoint.
static void setUpStepIntoBreakpoint(SuspendContextImpl context, @NotNull StepIntoBreakpoint breakpoint, RequestHint hint) {
DebugProcessImpl debugProcess = context.getDebugProcess();
BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(debugProcess.getProject()).getBreakpointManager();
// clear the filter on resume
breakpointManager.applyThreadFilter(debugProcess, null);
breakpoint.setSuspendPolicy(context.getSuspendPolicy() == EventRequest.SUSPEND_EVENT_THREAD ? DebuggerSettings.SUSPEND_THREAD : DebuggerSettings.SUSPEND_ALL);
breakpoint.createRequest(debugProcess);
breakpoint.setRequestHint(hint);
debugProcess.setRunToCursorBreakpoint(breakpoint);
}
use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.
the class ToggleFieldBreakpointAction method update.
@Override
public void update(AnActionEvent event) {
SourcePosition place = getPlace(event);
boolean toEnable = place != null;
Presentation presentation = event.getPresentation();
if (ActionPlaces.PROJECT_VIEW_POPUP.equals(event.getPlace()) || ActionPlaces.STRUCTURE_VIEW_POPUP.equals(event.getPlace()) || ActionPlaces.FAVORITES_VIEW_POPUP.equals(event.getPlace())) {
presentation.setVisible(toEnable);
} else if (DebuggerAction.isContextView(event)) {
presentation.setText(DebuggerBundle.message("action.add.field.watchpoint.text"));
Project project = event.getData(CommonDataKeys.PROJECT);
if (project != null && place != null) {
Document document = PsiDocumentManager.getInstance(project).getDocument(place.getFile());
if (document != null) {
final int offset = place.getOffset();
final BreakpointManager breakpointManager = (DebuggerManagerEx.getInstanceEx(project)).getBreakpointManager();
final Breakpoint fieldBreakpoint = offset >= 0 ? breakpointManager.findBreakpoint(document, offset, FieldBreakpoint.CATEGORY) : null;
if (fieldBreakpoint != null) {
presentation.setEnabled(false);
return;
}
}
}
}
presentation.setVisible(toEnable);
}
use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.
the class ToggleFieldBreakpointAction method actionPerformed.
@Override
public void actionPerformed(AnActionEvent e) {
Project project = e.getData(CommonDataKeys.PROJECT);
if (project == null) {
return;
}
final SourcePosition place = getPlace(e);
if (place != null) {
Document document = PsiDocumentManager.getInstance(project).getDocument(place.getFile());
if (document != null) {
DebuggerManagerEx debuggerManager = DebuggerManagerEx.getInstanceEx(project);
BreakpointManager manager = debuggerManager.getBreakpointManager();
final int offset = place.getOffset();
final Breakpoint breakpoint = offset >= 0 ? manager.findBreakpoint(document, offset, FieldBreakpoint.CATEGORY) : null;
if (breakpoint == null) {
FieldBreakpoint fieldBreakpoint = manager.addFieldBreakpoint(document, offset);
if (fieldBreakpoint != null) {
if (DebuggerAction.isContextView(e)) {
final DebuggerTreeNodeImpl selectedNode = DebuggerAction.getSelectedNode(e.getDataContext());
if (selectedNode != null && selectedNode.getDescriptor() instanceof FieldDescriptorImpl) {
ObjectReference object = ((FieldDescriptorImpl) selectedNode.getDescriptor()).getObject();
if (object != null) {
long id = object.uniqueID();
InstanceFilter[] instanceFilters = new InstanceFilter[] { InstanceFilter.create(Long.toString(id)) };
fieldBreakpoint.setInstanceFilters(instanceFilters);
fieldBreakpoint.setInstanceFiltersEnabled(true);
}
}
}
final Editor editor = CommonDataKeys.EDITOR.getData(e.getDataContext());
if (editor != null) {
manager.editBreakpoint(fieldBreakpoint, editor);
}
}
} else {
manager.removeBreakpoint(breakpoint);
}
}
}
}
Aggregations