Interface ISourceLocator

All Known Subinterfaces:
IPersistableSourceLocator, IPersistableSourceLocator2, ISourceLookupDirector
All Known Implementing Classes:

public interface ISourceLocator
A source locator locates source elements for stack frames. A launch (optionally) specifies a source locator which is used to locate source for that debug session. If a launch does not provide a source locator, source cannot be displayed. Abstraction of source lookup allows clients to hide implementation details of source location and representation.

Generally, an implementor of a debug model will also implement launch configuration types, delegates, and source locators that work together as a whole. That is, the implementation of a source locator will have knowledge of how to locate a source element for a stack frame. For example, a Java stack frame could define API which specifies a source file name. A Java source locator would use this information to locate the associated file in the workspace.

Source is displayed by the debug UI plug-in. The debug UI uses a source locator to resolve an object representing the source for a stack frame, and then uses a debug model presentation to determine the editor and editor input to use to display the actual source in an editor.

Clients may implement this interface.

See Also:
  • Method Summary

    Modifier and Type
    Returns a source element that corresponds to the given stack frame, or null if a source element could not be located.
  • Method Details

    • getSourceElement

      Object getSourceElement(IStackFrame stackFrame)
      Returns a source element that corresponds to the given stack frame, or null if a source element could not be located. The object returned by this method will be used by the debug UI plug-in to display source. The debug UI uses the debug model presentation associated with the given stack frame's debug model to translate a source object into an {editor input, editor id} pair in which to display source.

      For example, a java source locator could return an object representing a compilation unit or class file. The java debug model presentation would then be responsible for providing an editor input and editor id for each compilation unit and class file such that the debug UI could display source.

      stackFrame - the stack frame for which to locate source
      an object representing a source element.