package com.sap.runlet.abstractinterpreter; import org.eclipse.emf.ecore.EObject; /** * To be implemented by those who register for events from a {@link DebugSession} * * @author Axel Uhl (D043530) */ public interface DebugListener { public static enum ResumeReason { /** * Step start detail. Indicates a thread was resumed by a step into action. */ STEP_INTO, /** * Step start detail. Indicates a thread was resumed by a step over action. */ STEP_OVER, /** * Step start detail. Indicates a thread was resumed by a step return action. */ STEP_RETURN, /** * Client request detail. Indicates a thread was suspended due to a client request. */ CLIENT_REQUEST } public static enum SuspendReason { /** * Step end detail. Indicates a thread was suspended due to the completion of a step action. */ STEP_END, /** * Breakpoint detail. Indicates a thread was suspended by a breakpoint. */ BREAKPOINT, /** * Client request detail. Indicates a thread was suspended due to a client request. */ CLIENT_REQUEST } void started( AbstractRunletInterpreter<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> interpreter); void resumed(AbstractRunletInterpreter<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> interpreter, ResumeReason reason); void suspended(AbstractRunletInterpreter<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> interpreter, SuspendReason reason); void terminated(AbstractRunletInterpreter<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> interpreter); void hitBreakpoint(AbstractRunletInterpreter<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> interpreter, EObject element); }