blob: ae7d6fee77cd37853827c255d59e5610779bbc78 [file] [log] [blame]
/*
*(c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*
*/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDILocation;
/**
*
* A stack frame in a suspended thread.
* A stack frame contains variables representing visible locals and
* arguments at the current execution location.
*
* @since Jul 8, 2002
*/
public interface ICDIStackFrame extends ICDIObject {
/**
* Returns the location of the instruction pointer in this
* stack frame.
*
* @return the location of the instruction pointer
*/
ICDILocation getLocation();
/**
* Returns the visible variables in this stack frame. An empty
* collection is returned if there are no visible variables.
*
* @return a collection of visible variables
* @throws CDIException if this method fails. Reasons include:
*/
ICDIVariable[] getLocalVariables() throws CDIException;
/**
* Returns the arguments in this stack frame. An empty collection
* is returned if there are no arguments.
*
* @return a collection of arguments
* @throws CDIException if this method fails. Reasons include:
*/
ICDIArgument[] getArguments() throws CDIException;
/**
* Returns the thread this stackframe is contained in.
*
* @return the thread
*/
ICDIThread getThread();
/**
* Returns the level of the stack frame.
*
* @return the level of the stack frame
*/
int getLevel();
/**
* Return true if the frames are the same.
*/
boolean equals(ICDIStackFrame stackframe);
}