public class PositionManagerImpl extends java.lang.Object implements PositionManager, MultiRequestPositionManager
Modifier and Type | Class and Description |
---|---|
static class |
PositionManagerImpl.ClsSourcePosition |
static class |
PositionManagerImpl.JavaSourcePosition |
Constructor and Description |
---|
PositionManagerImpl(DebugProcessImpl debugProcess) |
Modifier and Type | Method and Description |
---|---|
com.sun.jdi.request.ClassPrepareRequest |
createPrepareRequest(ClassPrepareRequestor requestor,
SourcePosition position)
Called to request the JVM to notify the debugger engine when a class corresponding to a breakpoint location is loaded.
|
java.util.List<com.sun.jdi.request.ClassPrepareRequest> |
createPrepareRequests(ClassPrepareRequestor requestor,
SourcePosition position) |
static PsiClass |
findClass(Project project,
java.lang.String originalQName,
GlobalSearchScope searchScope) |
PsiMethod |
findMethod(PsiElement container,
java.lang.String className,
java.lang.String methodName,
java.lang.String methodSignature) |
java.util.List<com.sun.jdi.ReferenceType> |
getAllClasses(SourcePosition position)
Returns the list of all Java classes corresponding to the specified position in the source code.
|
DebugProcess |
getDebugProcess() |
protected PsiFile |
getPsiFileByLocation(Project project,
com.sun.jdi.Location location) |
SourcePosition |
getSourcePosition(com.sun.jdi.Location location)
Returns the source position corresponding to the specified bytecode location.
|
java.util.List<com.sun.jdi.Location> |
locationsOfLine(com.sun.jdi.ReferenceType type,
SourcePosition position)
Returns the list of bytecode locations in a specific class corresponding to the specified position in the source code.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAcceptedFileTypes
public PositionManagerImpl(DebugProcessImpl debugProcess)
public DebugProcess getDebugProcess()
public java.util.List<com.sun.jdi.Location> locationsOfLine(com.sun.jdi.ReferenceType type, SourcePosition position) throws NoDataException
PositionManager
locationsOfLine
in interface PositionManager
type
- a Java class (one of the list returned by PositionManager.getAllClasses(com.intellij.debugger.SourcePosition)
).position
- the position in the source code.NoDataException
- if the location is not in the code managed by this PositionManager
ReferenceType.locationsOfLine(int)
public com.sun.jdi.request.ClassPrepareRequest createPrepareRequest(ClassPrepareRequestor requestor, SourcePosition position) throws NoDataException
PositionManager
RequestManager.createClassPrepareRequest(com.intellij.debugger.requests.ClassPrepareRequestor, java.lang.String)
to create the request.createPrepareRequest
in interface PositionManager
requestor
- the object to receive the notification from the JVM.position
- the location of a breakpoint.PositionManager
but no class prepare notification is neededNoDataException
- if the position is not in the code managed by this PositionManager
public java.util.List<com.sun.jdi.request.ClassPrepareRequest> createPrepareRequests(ClassPrepareRequestor requestor, SourcePosition position) throws NoDataException
createPrepareRequests
in interface MultiRequestPositionManager
NoDataException
PositionManager.createPrepareRequest(com.intellij.debugger.requests.ClassPrepareRequestor, com.intellij.debugger.SourcePosition)
public SourcePosition getSourcePosition(com.sun.jdi.Location location) throws NoDataException
PositionManager
getSourcePosition
in interface PositionManager
location
- the bytecode location.NoDataException
- if the location is not in the code managed by this PositionManager
protected PsiFile getPsiFileByLocation(Project project, com.sun.jdi.Location location)
public static PsiClass findClass(Project project, java.lang.String originalQName, GlobalSearchScope searchScope)
public java.util.List<com.sun.jdi.ReferenceType> getAllClasses(SourcePosition position) throws NoDataException
PositionManager
getAllClasses
in interface PositionManager
position
- the source position.NoDataException
- if the location is not in the code managed by this PositionManager
VirtualMachineProxy.classesByName(java.lang.String)
public PsiMethod findMethod(PsiElement container, java.lang.String className, java.lang.String methodName, java.lang.String methodSignature)