Interface IInstructionPointerPresentation

All Superinterfaces:
IBaseLabelProvider, IDebugModelPresentation, ILabelProvider, ISourcePresentation

public interface IInstructionPointerPresentation extends IDebugModelPresentation
A debug model presentation may implement this interface to override standard annotations used to display instruction pointers for stack frames.

A client has several options when overriding default instruction pointer annotations, and the debug platform uses the following prioritized order when computing an annotation for a stack frame.

  1. Specify the annotation object to use. This is done by returning a non-null value from getInstructionPointerAnnotation(..).
  2. Specify an annotationType extension to use. This is done by returning a non-null value from getInstructionPointerAnnotationType(..). When specified, the annotation type controls the image displayed via its associated markerAnnotationSpecification.
  3. Specify the image to use. This is done by returning a non-null value from getInstructionPointerImage(..).

Additionally, when specifying an annotation type or image the text for the instruction pointer may be specified by returning a non-null value from getInstructionPointerText(..).

These methods are called when the debugger has opened an editor to display source for the given stack frame. The image will be positioned based on stack frame line number and character ranges.

By default, the debug platform uses different annotations for top stack frames and non-top stack frames in a thread. The default platform annotations are contributed as annotationType extensions with the identifiers IDebugUIConstants.ANNOTATION_INSTRUCTION_POINTER_CURRENT and IDebugUIConstants.ANNOTAION_INSTRUCTION_POINTER_SECONDARY.

Clients implementing a debug model presentation may also implement this interface.

Since:
3.2
  • Method Details

    • getInstructionPointerAnnotation

      Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame)
      Returns an annotation used for the specified stack frame in the specified editor, or null if a default annotation should be used.
      Parameters:
      editorPart - the editor the debugger has opened
      frame - the stack frame for which the debugger is displaying source
      Returns:
      annotation or null
    • getInstructionPointerAnnotationType

      String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame)
      Returns an identifier of a org.eclipse.ui.editors.annotationTypes extension used for the specified stack frame in the specified editor, or null if a default annotation should be used.
      Parameters:
      editorPart - the editor the debugger has opened
      frame - the stack frame for which the debugger is displaying source
      Returns:
      annotation type identifier or null
    • getInstructionPointerImage

      Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame)
      Returns the instruction pointer image used for the specified stack frame in the specified editor, or null if a default image should be used.

      By default, the debug platform uses different images for top stack frames and non-top stack frames in a thread.

      Parameters:
      editorPart - the editor the debugger has opened
      frame - the stack frame for which the debugger is displaying source
      Returns:
      image or null
    • getInstructionPointerText

      String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame)
      Returns the text to associate with the instruction pointer annotation used for the specified stack frame in the specified editor, or null if a default message should be used.

      By default, the debug platform uses different images for top stack frames and non-top stack frames in a thread.

      Parameters:
      editorPart - the editor the debugger has opened
      frame - the stack frame for which the debugger is displaying source
      Returns:
      message or null