Class AtlStackFrame

  • All Implemented Interfaces:
    org.eclipse.core.runtime.IAdaptable, org.eclipse.debug.core.model.IDebugElement, org.eclipse.debug.core.model.IStackFrame, org.eclipse.debug.core.model.IStep, org.eclipse.debug.core.model.ISuspendResume, org.eclipse.debug.core.model.ITerminate

    public class AtlStackFrame
    extends AtlDebugElement
    implements org.eclipse.debug.core.model.IStackFrame
    This class implements IStackFrame It contains a stackframe.
    • Constructor Detail

      • AtlStackFrame

        public AtlStackFrame​(AtlThread thread,
                             ObjectReference stackFrame,
                             AtlNbCharFile atlnbcharfile,
                             org.eclipse.core.resources.IFile sourcefile)
        Creates a new AtlStackFrame for Eclipse-based debugging.
        Parameters:
        thread - The ATL execution thread
        stackFrame - The ASMStackFrame to encapsulate
        atlnbcharfile - The source code lookup helper
        sourcefile - The file containing the source code
    • Method Detail

      • getThread

        public org.eclipse.debug.core.model.IThread getThread()
        Specified by:
        getThread in interface org.eclipse.debug.core.model.IStackFrame
        See Also:
        IStackFrame.getThread()
      • getVariables

        public org.eclipse.debug.core.model.IVariable[] getVariables()
                                                              throws org.eclipse.debug.core.DebugException
        Specified by:
        getVariables in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getVariables()
      • hasVariables

        public boolean hasVariables()
                             throws org.eclipse.debug.core.DebugException
        Specified by:
        hasVariables in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.hasVariables()
      • getLineNumber

        public int getLineNumber()
                          throws org.eclipse.debug.core.DebugException
        Specified by:
        getLineNumber in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getLineNumber()
      • getCharStart

        public int getCharStart()
                         throws org.eclipse.debug.core.DebugException
        Specified by:
        getCharStart in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getCharStart()
      • getCharEnd

        public int getCharEnd()
                       throws org.eclipse.debug.core.DebugException
        Specified by:
        getCharEnd in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getCharEnd()
      • getName

        public java.lang.String getName()
                                 throws org.eclipse.debug.core.DebugException
        Specified by:
        getName in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getName()
      • getRegisterGroups

        public org.eclipse.debug.core.model.IRegisterGroup[] getRegisterGroups()
                                                                        throws org.eclipse.debug.core.DebugException
        Specified by:
        getRegisterGroups in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.getRegisterGroups()
      • hasRegisterGroups

        public boolean hasRegisterGroups()
                                  throws org.eclipse.debug.core.DebugException
        Specified by:
        hasRegisterGroups in interface org.eclipse.debug.core.model.IStackFrame
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStackFrame.hasRegisterGroups()
      • canStepInto

        public boolean canStepInto()
        Specified by:
        canStepInto in interface org.eclipse.debug.core.model.IStep
        See Also:
        IStep.canStepInto()
      • canStepOver

        public boolean canStepOver()
        Specified by:
        canStepOver in interface org.eclipse.debug.core.model.IStep
        See Also:
        IStep.canStepOver()
      • canStepReturn

        public boolean canStepReturn()
        Specified by:
        canStepReturn in interface org.eclipse.debug.core.model.IStep
        See Also:
        IStep.canStepReturn()
      • isStepping

        public boolean isStepping()
        Specified by:
        isStepping in interface org.eclipse.debug.core.model.IStep
        See Also:
        IStep.isStepping()
      • stepInto

        public void stepInto()
                      throws org.eclipse.debug.core.DebugException
        Specified by:
        stepInto in interface org.eclipse.debug.core.model.IStep
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStep.stepInto()
      • stepOver

        public void stepOver()
                      throws org.eclipse.debug.core.DebugException
        Specified by:
        stepOver in interface org.eclipse.debug.core.model.IStep
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStep.stepOver()
      • stepReturn

        public void stepReturn()
                        throws org.eclipse.debug.core.DebugException
        Specified by:
        stepReturn in interface org.eclipse.debug.core.model.IStep
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        IStep.stepReturn()
      • canResume

        public boolean canResume()
        Specified by:
        canResume in interface org.eclipse.debug.core.model.ISuspendResume
        See Also:
        ISuspendResume.canResume()
      • canSuspend

        public boolean canSuspend()
        Specified by:
        canSuspend in interface org.eclipse.debug.core.model.ISuspendResume
        See Also:
        ISuspendResume.canSuspend()
      • isSuspended

        public boolean isSuspended()
        Specified by:
        isSuspended in interface org.eclipse.debug.core.model.ISuspendResume
        See Also:
        ISuspendResume.isSuspended()
      • resume

        public void resume()
                    throws org.eclipse.debug.core.DebugException
        Specified by:
        resume in interface org.eclipse.debug.core.model.ISuspendResume
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        ISuspendResume.resume()
      • suspend

        public void suspend()
                     throws org.eclipse.debug.core.DebugException
        Specified by:
        suspend in interface org.eclipse.debug.core.model.ISuspendResume
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        ISuspendResume.suspend()
      • canTerminate

        public boolean canTerminate()
        Specified by:
        canTerminate in interface org.eclipse.debug.core.model.ITerminate
        See Also:
        ITerminate.canTerminate()
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface org.eclipse.debug.core.model.ITerminate
        See Also:
        ITerminate.isTerminated()
      • terminate

        public void terminate()
                       throws org.eclipse.debug.core.DebugException
        Specified by:
        terminate in interface org.eclipse.debug.core.model.ITerminate
        Throws:
        org.eclipse.debug.core.DebugException
        See Also:
        ITerminate.terminate()
      • getDisassembled

        public org.eclipse.core.resources.IStorage getDisassembled()
        Returns the disassembled IStorage.
        Returns:
        the disassembled IStorage
      • getSourcefile

        public org.eclipse.core.resources.IFile getSourcefile()
        Returns the ATL source code file that is being executed in this stack frame.
        Returns:
        The ATL source code file that is being executed in this stack frame