public abstract class XLineBreakpointType<P extends XBreakpointProperties> extends XBreakpointType<XLineBreakpoint<P>,P>
<extensions defaultExtensionNs="com.intellij">
<xdebugger.breakpointType implementation="qualified-class-name"/>
</extensions>
In order to support actual setting breakpoints in a debugging process create a XBreakpointHandler
implementation and return it
from XDebugProcess.getBreakpointHandlers()
method
Modifier and Type | Class and Description |
---|---|
class |
XLineBreakpointType.XLineBreakpointAllVariant |
class |
XLineBreakpointType.XLineBreakpointVariant |
class |
XLineBreakpointType.XLinePsiElementBreakpointVariant |
XBreakpointType.StandardPanels, XBreakpointType.XBreakpointCreator<P extends XBreakpointProperties>
EXTENSION_POINT_NAME
Modifier | Constructor and Description |
---|---|
protected |
XLineBreakpointType(java.lang.String id,
java.lang.String title) |
Modifier and Type | Method and Description |
---|---|
boolean |
canBeHitInOtherPlaces()
Return true if this breakpoint could be hit on lines other than the one specified,
an example is method breakpoint in java - it could be hit on any method overriding the one specified
|
boolean |
canPutAt(VirtualFile file,
int line,
Project project)
Return
true |
java.util.List<? extends XLineBreakpointType.XLineBreakpointVariant> |
computeVariants(Project project,
XSourcePosition position)
Return a list of variants if there can be more than one breakpoint on the line
|
Promise<java.util.List<? extends XLineBreakpointType.XLineBreakpointVariant>> |
computeVariantsAsync(Project project,
XSourcePosition position) |
abstract P |
createBreakpointProperties(VirtualFile file,
int line)
return non-null value if a breakpoint should have specific properties besides containing file and line.
|
XLineBreakpoint<P> |
createDefaultBreakpoint(XBreakpointType.XBreakpointCreator<P> creator)
Default line breakpoints aren't supported
|
java.util.List<? extends AnAction> |
getAdditionalPopupMenuActions(XLineBreakpoint<P> breakpoint,
XDebugSession currentSession) |
java.lang.String |
getDisplayText(XLineBreakpoint<P> breakpoint) |
TextRange |
getHighlightRange(XLineBreakpoint<P> breakpoint) |
int |
getPriority()
Priority is considered when several breakpoint types can be set inside a folded code block,
in this case we choose type with the highest priority
Also it affects types sorting in various places
|
java.lang.String |
getShortText(XLineBreakpoint<P> breakpoint) |
XSourcePosition |
getSourcePosition(XBreakpoint<P> breakpoint)
Source position for line breakpoint by default is determined by its file and line
|
javax.swing.Icon |
getTemporaryIcon() |
addBreakpoint, createCustomConditionsPanel, createCustomPropertiesPanel, createCustomPropertiesPanel, createCustomRightPropertiesPanel, createCustomTopPropertiesPanel, createProperties, getBreakpointComparator, getBreakpointsDialogHelpTopic, getDefaultSuspendPolicy, getDisabledIcon, getEditorsProvider, getEditorsProvider, getEnabledIcon, getGroupingRules, getId, getInactiveDependentIcon, getMutedDisabledIcon, getMutedEnabledIcon, getPendingIcon, getSuspendNoneIcon, getTitle, getVisibleStandardPanels, isAddBreakpointButtonVisible, isSuspendThreadSupported, shouldShowInBreakpointsDialog, toString
protected XLineBreakpointType(java.lang.String id, java.lang.String title)
public boolean canPutAt(VirtualFile file, int line, Project project)
true if breakpoint can be put on line
in file
public abstract P createBreakpointProperties(VirtualFile file, int line)
XBreakpoint
instance and can be obtained by using XBreakpoint.getProperties()
methodpublic java.lang.String getDisplayText(XLineBreakpoint<P> breakpoint)
getDisplayText
in class XBreakpointType<XLineBreakpoint<P extends XBreakpointProperties>,P extends XBreakpointProperties>
public XSourcePosition getSourcePosition(XBreakpoint<P> breakpoint)
getSourcePosition
in class XBreakpointType<XLineBreakpoint<P extends XBreakpointProperties>,P extends XBreakpointProperties>
public java.lang.String getShortText(XLineBreakpoint<P> breakpoint)
getShortText
in class XBreakpointType<XLineBreakpoint<P extends XBreakpointProperties>,P extends XBreakpointProperties>
public final XLineBreakpoint<P> createDefaultBreakpoint(XBreakpointType.XBreakpointCreator<P> creator)
createDefaultBreakpoint
in class XBreakpointType<XLineBreakpoint<P extends XBreakpointProperties>,P extends XBreakpointProperties>
null
if default breakpoint isn't supportedpublic java.util.List<? extends AnAction> getAdditionalPopupMenuActions(XLineBreakpoint<P> breakpoint, XDebugSession currentSession)
getAdditionalPopupMenuActions
in class XBreakpointType<XLineBreakpoint<P extends XBreakpointProperties>,P extends XBreakpointProperties>
public javax.swing.Icon getTemporaryIcon()
public int getPriority()
public boolean canBeHitInOtherPlaces()
public TextRange getHighlightRange(XLineBreakpoint<P> breakpoint)
public java.util.List<? extends XLineBreakpointType.XLineBreakpointVariant> computeVariants(Project project, XSourcePosition position)
public Promise<java.util.List<? extends XLineBreakpointType.XLineBreakpointVariant>> computeVariantsAsync(Project project, XSourcePosition position)