Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jdt.debug.core
Interface IJavaStackFrame

All Superinterfaces:
  IAdaptable, IDebugElement, IFilteredStep, IJavaModifiers, IStackFrame, IStep, ISuspendResume, ITerminate

public interface IJavaStackFrame
extends IStackFrame, IJavaModifiers, IFilteredStep

A stack frame in a thread on a Java virtual machine.

Clients are not intended to implement this interface.

See Also:
  `IStackFrame`

Method Summary
`void` | `dropToFrame()` Drops to this stack frame by popping frames in this frame's owning thread until this stack frame is the top stack frame.
`IJavaVariable` | `findVariable(String variableName)` Returns the local, static, or "this" variable with the given name, or `null` if unable to resolve a variable with the name.
`List` | `getArgumentTypeNames()` Returns a list of fully qualified type names of the arguments for the method associated with this stack frame.
`IJavaClassType` | `getDeclaringType()` Returns the type in which this stack frame's method is declared.
`String` | `getDeclaringTypeName()` Returns the fully qualified name of the type that declares the method associated with this stack frame.
`int` | `getLineNumber(String stratum)` Returns the line number of the instruction pointer in this stack frame that corresponds to the line in the associated source element in the specified stratum, or `-1` if line number information is unavailable.
`IJavaVariable[]` | `getLocalVariables()` Returns a collection of local variables that are visible at the current point of execution in this stack frame.
`String` | `getMethodName()` Returns the name of the method associated with this stack frame
`String` | `getReceivingTypeName()` Returns the fully qualified name of the type that is the receiving object associated with this stack frame
`String` | `getSignature()` Returns the JNI signature for the method this stack frame is associated with.
`String` | `getSourceName()` Returns the source name debug attribute associated with the declaring type of this stack frame, or `null` if the source name debug attribute not present.
`String` | `getSourceName(String stratum)` Returns the source name debug attribute associated with the declaring type of this stack frame in the specified stratum, or `null` if the source name debug attribute not present.
`String` | `getSourcePath()` Returns the source path debug attribute associated with this stack frame, or `null` if the source path is not known.
`String` | `getSourcePath(String stratum)` Returns the source path debug attribute associated with this stack frame in the specified stratum, or `null` if the source path is not known.
`IJavaObject` | `getThis()` Returns a reference to the receiver of the method associated with this stack frame, or `null` if this stack frame represents a static method.
`boolean` | `isConstructor()` Returns whether the method associated with this stack frame is a constructor.
`boolean` | `isNative()` Returns whether the method associated with this stack frame has been declared as native.
`boolean` | `isObsolete()` Returns whether the method associated with this stack frame is obsolete, that is, it is running old bytecodes that have been replaced in the VM.
`boolean` | `isOutOfSynch()` Returns whether the method associated with this stack frame is running code in the VM that is out of synch with the code in the workspace.
`boolean` | `isStaticInitializer()` Returns whether the method associated with this stack frame is a static initializer.
`boolean` | `isSynchronized()` Returns whether the method associated with this stack frame has been declared as synchronized.
`boolean` | `supportsDropToFrame()` Returns whether this stack frame currently supports the drop to frame operation.
`boolean` | `wereLocalsAvailable()` Returns whether local variable information was available when local variables were retrieved from the target for this frame.

Methods inherited from interface org.eclipse.debug.core.model.IStackFrame
`getCharEnd, getCharStart, getLineNumber, getName, getRegisterGroups, getThread, getVariables, hasRegisterGroups, hasVariables`

Methods inherited from interface org.eclipse.debug.core.model.IDebugElement
`getDebugTarget, getLaunch, getModelIdentifier`

Methods inherited from interface org.eclipse.core.runtime.IAdaptable
`getAdapter`

Methods inherited from interface org.eclipse.debug.core.model.IStep
`canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn`

Methods inherited from interface org.eclipse.debug.core.model.ISuspendResume
`canResume, canSuspend, isSuspended, resume, suspend`

Methods inherited from interface org.eclipse.debug.core.model.ITerminate
`canTerminate, isTerminated, terminate`

Methods inherited from interface org.eclipse.jdt.debug.core.IJavaModifiers
`isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic`

Methods inherited from interface org.eclipse.debug.core.model.IFilteredStep
`canStepWithFilters, stepWithFilters`

Method Detail

### dropToFrame

    public void dropToFrame()
                     throws DebugException

  Drops to this stack frame by popping frames in this frame's owning thread until this stack frame is the top stack frame. The execution location is set to the beginning of this frame's associated method.

  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - The capability is not supported by the target.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### supportsDropToFrame

    public boolean supportsDropToFrame()

  Returns whether this stack frame currently supports the drop to frame operation. Note that not all VMs support the operation.

  Returns:
    whether this stack frame currently supports drop to frame

### isConstructor

    public boolean isConstructor()
                          throws DebugException

  Returns whether the method associated with this stack frame is a constructor.

  Returns:
    whether this stack frame is associated with a constructor
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### isNative

    public boolean isNative()
                     throws DebugException

  Returns whether the method associated with this stack frame has been declared as native.

  Returns:
    whether this stack frame has been declared as native
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### isStaticInitializer

    public boolean isStaticInitializer()
                                throws DebugException

  Returns whether the method associated with this stack frame is a static initializer.

  Returns:
    whether this stack frame is a static initializer
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### isSynchronized

    public boolean isSynchronized()
                           throws DebugException

  Returns whether the method associated with this stack frame has been declared as synchronized.

  Returns:
    whether this stack frame has been declared as synchronized
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### isOutOfSynch

    public boolean isOutOfSynch()
                         throws DebugException

  Returns whether the method associated with this stack frame is running code in the VM that is out of synch with the code in the workspace.

  Returns:
    whether this stack frame is out of synch with the workspace.
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    2.0

### isObsolete

    public boolean isObsolete()
                       throws DebugException

  Returns whether the method associated with this stack frame is obsolete, that is, it is running old bytecodes that have been replaced in the VM. This can occur when a hot code replace succeeds but the VM is unable to pop a call to an affected method from the call stack.

  Returns:
    whether this stack frame's method is obsolete
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    2.0

### getDeclaringTypeName

    public String getDeclaringTypeName()
                                throws DebugException

  Returns the fully qualified name of the type that declares the method associated with this stack frame.

  Returns:
    declaring type name
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getReceivingTypeName

    public String getReceivingTypeName()
                                throws DebugException

  Returns the fully qualified name of the type that is the receiving object associated with this stack frame

  Returns:
    receiving type name
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getSignature

    public String getSignature()
                        throws DebugException

  Returns the JNI signature for the method this stack frame is associated with.

  Returns:
    signature
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getArgumentTypeNames

    public List getArgumentTypeNames()
                              throws DebugException

  Returns a list of fully qualified type names of the arguments for the method associated with this stack frame.

  Returns:
    argument type names, or an empty list if this method has no arguments
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getMethodName

    public String getMethodName()
                         throws DebugException

  Returns the name of the method associated with this stack frame

  Returns:
    method name
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### findVariable

    public IJavaVariable findVariable(String variableName)
                               throws DebugException

  Returns the local, static, or "this" variable with the given name, or `null` if unable to resolve a variable with the name.

  Parameters:
    `variableName` - the name of the variable to search for
  Returns:
    a variable, or `null` if none
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getLineNumber

    public int getLineNumber(String stratum)
                      throws DebugException

  Returns the line number of the instruction pointer in this stack frame that corresponds to the line in the associated source element in the specified stratum, or `-1` if line number information is unavailable.

  Parameters:
    `stratum` - the stratum to use.
  Returns:
    line number of instruction pointer in this stack frame, or `-1` if line number information is unavailable
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the debug target. The DebugException's status code contains the underlying exception responsible for the failure.
  Since:
    3.0

### getSourceName

    public String getSourceName()
                         throws DebugException

  Returns the source name debug attribute associated with the declaring type of this stack frame, or `null` if the source name debug attribute not present.

  Returns:
    source name debug attribute, or `null`
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getSourceName

    public String getSourceName(String stratum)
                         throws DebugException

  Returns the source name debug attribute associated with the declaring type of this stack frame in the specified stratum, or `null` if the source name debug attribute not present.

  Parameters:
    `stratum` - the stratum to use.
  Returns:
    source name debug attribute, or `null`
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    3.0

### getSourcePath

    public String getSourcePath(String stratum)
                         throws DebugException

  Returns the source path debug attribute associated with this stack frame in the specified stratum, or `null` if the source path is not known.

  Parameters:
    `stratum` - the stratum to use.
  Returns:
    source path debug attribute, or `null`
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    3.0

### getSourcePath

    public String getSourcePath()
                         throws DebugException

  Returns the source path debug attribute associated with this stack frame, or `null` if the source path is not known.

  Returns:
    source path debug attribute, or `null`
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    3.0

### getLocalVariables

    public IJavaVariable[] getLocalVariables()
                                      throws DebugException

  Returns a collection of local variables that are visible at the current point of execution in this stack frame. The list includes arguments.

  Returns:
    collection of locals and arguments
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    2.0

### getThis

    public IJavaObject getThis()
                        throws DebugException

  Returns a reference to the receiver of the method associated with this stack frame, or `null` if this stack frame represents a static method.

  Returns:
    'this' object, or `null`
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.

### getDeclaringType

    public IJavaClassType getDeclaringType()
                                    throws DebugException

  Returns the type in which this stack frame's method is declared.

  Returns:
    the type in which this stack frame's method is declared
  Throws:
    `DebugException` - if this method fails. Reasons include:
    - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
    - This stack frame is no longer valid. That is, the thread containing this stack frame has since been resumed.
  Since:
    2.0

### wereLocalsAvailable

    public boolean wereLocalsAvailable()

  Returns whether local variable information was available when local variables were retrieved from the target for this frame. Returns `true` if locals have never been retrieved. This data is available after the fact, since variable retrieval is expensive.

  Returns:
    whether local variable information was available when variables were retrieved from the target. Returns `true` if locals have never been retrieved
  Since:
    2.0

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.