Package org.eclipse.epsilon.eol.debug
Class EolDebugger
java.lang.Object
org.eclipse.epsilon.eol.debug.EolDebugger
- All Implemented Interfaces:
IEolDebugger
,ExecutionController
- Direct Known Subclasses:
EclDebugger
,EgxDebugger
,EplDebugger
,EtlDebugger
,EvlDebugger
,FlockDebugger
,PinsetDebugger
-
Field Summary
Modifier and TypeFieldDescriptionprotected ModuleElement
protected boolean
protected Integer
protected ModuleElement
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAllModules
(Map<String, IModule> pathToModule, IModule module) void
control
(ModuleElement ast, IEolContext context) void
dispose()
void
done
(ModuleElement ast, IEolContext context) protected Position
findFirstLineGreaterThanOrEqualTo
(ModuleElement root, Position position) Finds the first position that has module element that we control, at a certain position or after it.protected IEolModule
protected boolean
boolean
protected boolean
boolean
void
report
(IEolContext context) protected IModule
resolveModule
(Map<URI, Path> uriToPathMappings, String argsSourcePath) Tries to resolve the specific module referenced by a path reported via DAP.void
setTarget
(IEpsilonDebugTarget target) void
step()
void
stepOver()
void
verifyBreakpoint
(BreakpointRequest request)
-
Field Details
-
stepping
protected boolean stepping -
currentModuleElement
-
stopAfterModuleElement
-
stopAfterFrameStackSizeDropsBelow
-
-
Constructor Details
-
EolDebugger
public EolDebugger()
-
-
Method Details
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminated
in interfaceExecutionController
-
dispose
public void dispose()- Specified by:
dispose
in interfaceExecutionController
-
setTarget
- Specified by:
setTarget
in interfaceIEolDebugger
-
getTarget
- Specified by:
getTarget
in interfaceIEolDebugger
-
getModule
-
control
- Specified by:
control
in interfaceExecutionController
-
done
- Specified by:
done
in interfaceExecutionController
-
report
- Specified by:
report
in interfaceExecutionController
-
step
public void step()- Specified by:
step
in interfaceIEolDebugger
-
stepOver
public void stepOver()- Specified by:
stepOver
in interfaceIEolDebugger
-
stepReturn
public void stepReturn()- Specified by:
stepReturn
in interfaceIEolDebugger
-
isExpressionOrStatementBlockContainer
-
isStructuralBlock
-
isStepping
public boolean isStepping()- Specified by:
isStepping
in interfaceIEolDebugger
-
getStopAfterModuleElement
- Specified by:
getStopAfterModuleElement
in interfaceIEolDebugger
-
getStopAfterFrameStackSizeDropsBelow
- Specified by:
getStopAfterFrameStackSizeDropsBelow
in interfaceIEolDebugger
-
verifyBreakpoint
- Specified by:
verifyBreakpoint
in interfaceIEolDebugger
-
resolveModule
protected IModule resolveModule(Map<URI, Path> uriToPathMappings, String argsSourcePath) throws IOExceptionTries to resolve the specific module referenced by a path reported via DAP. This will be a file in the developer's IDE, whose URI may not match 1:1 with the URI of the module being executed (e.g. if the module is being loaded from the classpath and not from the filesystem).- Throws:
IOException
-
getURIToModuleMap
- Throws:
IOException
-
addAllModules
- Throws:
IOException
-
findFirstLineGreaterThanOrEqualTo
Finds the first position that has module element that we control, at a certain position or after it. This handles cases where we set a breakpoint on an empty line or an import statement.
-