本文整理汇总了Java中com.intellij.xdebugger.breakpoints.XBreakpointManager.findBreakpointAtLine方法的典型用法代码示例。如果您正苦于以下问题:Java XBreakpointManager.findBreakpointAtLine方法的具体用法?Java XBreakpointManager.findBreakpointAtLine怎么用?Java XBreakpointManager.findBreakpointAtLine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.xdebugger.breakpoints.XBreakpointManager
的用法示例。
在下文中一共展示了XBreakpointManager.findBreakpointAtLine方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: perform
import com.intellij.xdebugger.breakpoints.XBreakpointManager; //导入方法依赖的package包/类
public void perform(@NotNull final Project project, final AnActionEvent event) {
XSourcePosition position = XDebuggerUtilImpl.getCaretPosition(project, event.getDataContext());
if (position == null) return;
ExpandRegionAction.expandRegionAtCaret(project, event.getData(PlatformDataKeys.EDITOR));
int line = position.getLine();
VirtualFile file = position.getFile();
final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project).getBreakpointManager();
for (XLineBreakpointType<?> type : XDebuggerUtil.getInstance().getLineBreakpointTypes()) {
final XLineBreakpoint<? extends XBreakpointProperties> breakpoint = breakpointManager.findBreakpointAtLine(type, file, line);
if (breakpoint != null && myTemporary && !breakpoint.isTemporary()) {
breakpoint.setTemporary(true);
} else if (type.canPutAt(file, line, project) || breakpoint != null) {
XDebuggerUtil.getInstance().toggleLineBreakpoint(project, type, file, line, myTemporary);
return;
}
}
}
示例2: isEnabled
import com.intellij.xdebugger.breakpoints.XBreakpointManager; //导入方法依赖的package包/类
@Override
public boolean isEnabled(@Nonnull final Project project, final AnActionEvent event) {
XLineBreakpointType<?>[] breakpointTypes = XDebuggerUtil.getInstance().getLineBreakpointTypes();
final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project).getBreakpointManager();
for (XSourcePosition position : XDebuggerUtilImpl.getAllCaretsPositions(project, event.getDataContext())) {
for (XLineBreakpointType<?> breakpointType : breakpointTypes) {
final VirtualFile file = position.getFile();
final int line = position.getLine();
if (XLineBreakpointResolverTypeExtension.INSTANCE.resolveBreakpointType(project, file, line) != null ||
breakpointManager.findBreakpointAtLine(breakpointType, file, line) != null) {
return true;
}
}
}
return false;
}
示例3: isEnabled
import com.intellij.xdebugger.breakpoints.XBreakpointManager; //导入方法依赖的package包/类
public boolean isEnabled(@NotNull final Project project, final AnActionEvent event) {
XLineBreakpointType<?>[] breakpointTypes = XDebuggerUtil.getInstance().getLineBreakpointTypes();
final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project).getBreakpointManager();
for (XSourcePosition position : XDebuggerUtilImpl.getAllCaretsPositions(project, event.getDataContext())) {
for (XLineBreakpointType<?> breakpointType : breakpointTypes) {
final VirtualFile file = position.getFile();
final int line = position.getLine();
if (breakpointType.canPutAt(file, line, project) || breakpointManager.findBreakpointAtLine(breakpointType, file, line) != null) {
return true;
}
}
}
return false;
}
示例4: isEnabled
import com.intellij.xdebugger.breakpoints.XBreakpointManager; //导入方法依赖的package包/类
public boolean isEnabled(@NotNull final Project project, final AnActionEvent event) {
XSourcePosition position = XDebuggerUtilImpl.getCaretPosition(project, event.getDataContext());
if (position == null) return false;
XLineBreakpointType<?>[] breakpointTypes = XDebuggerUtil.getInstance().getLineBreakpointTypes();
final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project).getBreakpointManager();
for (XLineBreakpointType<?> breakpointType : breakpointTypes) {
final VirtualFile file = position.getFile();
final int line = position.getLine();
if (breakpointType.canPutAt(file, line, project) || breakpointManager.findBreakpointAtLine(breakpointType, file, line) != null) {
return true;
}
}
return false;
}
示例5: suspended
import com.intellij.xdebugger.breakpoints.XBreakpointManager; //导入方法依赖的package包/类
@Override
public void suspended(DebugContext debugContext)
{
if(myFirstPausing)
{
myFirstPausing = false;
ApplicationManager.getApplication().runReadAction(new Runnable()
{
@Override
public void run()
{
myV8DebugProcess.getSession().initBreakpoints();
}
});
// we need find top file and top first breakpoint
List<? extends CallFrame> callFrames = debugContext.getCallFrames();
CallFrame callFrame = ContainerUtil.getFirstItem(callFrames);
if(callFrame != null)
{
Script script = callFrame.getScript();
if(script.getName() != null)
{
VirtualFile virtualFile = V8ScriptUtil.toVirtualFile(script, true);
if(!(virtualFile instanceof LightVirtualFile))
{
XBreakpointManager breakpointManager = XDebuggerManager.getInstance(myV8DebugProcess.getSession().getProject()).getBreakpointManager();
XLineBreakpoint<XBreakpointProperties> breakpointAtLine = breakpointManager.findBreakpointAtLine(JavaScriptLineBreakpointType.getInstance(), virtualFile, 0);
// if we have breakpoint at line 0, we dont need unpause
if(breakpointAtLine != null)
{
myV8DebugProcess.setCurrentDebugContext(debugContext);
myV8DebugProcess.getSession().breakpointReached(breakpointAtLine, null, new V8SuspendContext(debugContext));
return;
}
}
}
}
debugContext.continueVm(DebugContext.StepAction.CONTINUE, 0, null, null);
return;
}
myV8DebugProcess.setCurrentDebugContext(debugContext);
Collection<? extends Breakpoint> breakpointsHit = debugContext.getBreakpointsHit();
if(!breakpointsHit.isEmpty())
{
XLineBreakpoint<?> lineBreakpoint = myV8DebugProcess.getXBreakpointByVmBreakpoint(breakpointsHit.iterator().next());
if(lineBreakpoint != null)
{
myV8DebugProcess.getSession().breakpointReached(lineBreakpoint, null, new V8SuspendContext(debugContext));
return;
}
}
myV8DebugProcess.getSession().positionReached(new V8SuspendContext(debugContext));
}