Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-debug-dev] Re: Re: Source Lookup Path proposal (Darin Wright)



I already have an abstract class, it just needed a name. :)
"AbstractSourceLookupDirector" is good.  I'll make it an
IPersistableSourceLocator. We do need to keep the ISourcePathComputer
though since the director may choose to ask another computer to provide the
default path.  For example, although we have our own source locator, we
rely on JDT to contribute to the default search path for our Java projects.
In this case, we'd own the director, but would ask JDT's computer to
calculate the default path. So I'll move the abstract method you suggested
into ISourcePathComputer.
(#computeDefaultSourceLocations(ILaunchConfiguration config,
IProgressMonitor monitor))

Sample chain of events:
Looks fine except that the computer will remain a separate entity from the
director (to allow access to computers). So initializeDefaults(..) will
have to find/create the associated computer(s) using the registry and merge
the results into one default path if using muliple computers.
Also, there will not be any registered participants until after the launch.

A note to add to migration:  they also need to return
SourceNotFoundEditorInput (or a subclass) when source isn't found.

The latest design doc  (and interfaces and extension points) have been
attached to https://bugs.eclipse.org/bugs/show_bug.cgi?id=29890

The most notable change that wasn't discussed here is that
findSourceElements(IStackFrame) was modified to take in an Object, since
searches may need to be supported for other objects (e.g., breakpoints or
modules)
      /**
       * A call to this method causes the participant to search for source,
using the
       * locations passed into the setSourceLocations method.
       * @param object the object for which source needs to be found (e.g.,
stack frame)
       * @return a status that will be used to prompt the user to choose
from
       * the list of source elements found.
       */
      public IStatus findSourceElements(Object object) throws
CoreException;


Thanks again for the feedback, Darin. It's looking good.

Kristen Desarmo
Debugger Development
IBM Toronto Lab




Back to the top