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
FieldsModifier and TypeFieldDescriptionprotected ModuleElementprotected booleanprotected Integerprotected ModuleElement -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAllModules(Map<String, IModule> pathToModule, IModule module) voidcontrol(ModuleElement ast, IEolContext context) voiddispose()voiddone(ModuleElement ast, IEolContext context) protected PositionfindFirstLineGreaterThanOrEqualTo(ModuleElement root, Position position) Finds the first position that has module element that we control, at a certain position or after it.protected IEolModulebooleanReturns true iff the execution will complete after the given module element completes (i.e.protected booleanbooleanprotected booleanbooleanvoidreport(IEolContext context) protected IModuleresolveModule(Map<URI, Path> uriToPathMappings, String sArgsSourcePath) Tries to resolve the specific module referenced by a path reported via DAP.voidsetTarget(IEpsilonDebugTarget target) voidstep()voidstepOver()voidverifyBreakpoint(BreakpointRequest request)
-
Field Details
-
stepping
protected boolean stepping -
currentModuleElement
-
stopAfterModuleElement
-
stopAfterFrameStackSizeDropsBelow
-
-
Constructor Details
-
EolDebugger
public EolDebugger()
-
-
Method Details
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminatedin interfaceExecutionController
-
dispose
public void dispose()- Specified by:
disposein interfaceExecutionController
-
setTarget
- Specified by:
setTargetin interfaceIEolDebugger
-
getTarget
- Specified by:
getTargetin interfaceIEolDebugger
-
getModule
-
control
- Specified by:
controlin interfaceExecutionController
-
done
- Specified by:
donein interfaceExecutionController
-
report
- Specified by:
reportin interfaceExecutionController
-
step
public void step()- Specified by:
stepin interfaceIEolDebugger
-
stepOver
public void stepOver()- Specified by:
stepOverin interfaceIEolDebugger
-
stepReturn
public void stepReturn()- Specified by:
stepReturnin interfaceIEolDebugger
-
isDoneAfterModuleElement
Description copied from interface:IEolDebuggerReturns true iff the execution will complete after the given module element completes (i.e. no further elements will be run from this execution).- Specified by:
isDoneAfterModuleElementin interfaceIEolDebugger
-
isExpressionOrStatementBlockContainer
-
isStructuralBlock
-
isStepping
public boolean isStepping()- Specified by:
isSteppingin interfaceIEolDebugger
-
getStopAfterModuleElement
- Specified by:
getStopAfterModuleElementin interfaceIEolDebugger
-
getStopAfterFrameStackSizeDropsBelow
- Specified by:
getStopAfterFrameStackSizeDropsBelowin interfaceIEolDebugger
-
verifyBreakpoint
- Specified by:
verifyBreakpointin interfaceIEolDebugger
-
resolveModule
protected IModule resolveModule(Map<URI, Path> uriToPathMappings, String sArgsSourcePath) 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.
-