org.eclipse.debug.core.model

## Interface IExpression

All Superinterfaces:
  IAdaptable, IDebugElement

All Known Subinterfaces:
  IErrorReportingExpression, IWatchExpression

    public interface IExpression
    extends IDebugElement

An expression is a snippet of code that can be evaluated to produce a value. When and how an expression is evaluated is implementation specific. The context/binding required to evaluate an expression varies by debug model, and by user intent. Furthermore, an expression may need to be evaluated at a specific location in a program (for example, at a breakpoint/line where certain variables referenced in the expression are visible/allocated). A user may want to evaluate an expression once to produce a value that can be inspected iteratively, or they may wish to evaluate an expression iteratively producing new values each time (i.e. as in a watch list).

Clients are intended to implement this interface.

Since:
  2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `dispose()` Notifies this expression that it has been removed from the expression manager.
`IDebugTarget` `getDebugTarget()` Returns the debug target this expression is associated with, or `null` if this expression is not associated with a debug target.
`String` `getExpressionText()` Returns this expression's snippet of code.
`IValue` `getValue()` Returns the current value of this expression or `null` if this expression does not currently have a value.

### Methods inherited from interface org.eclipse.debug.core.model.IDebugElement

`getLaunch, getModelIdentifier`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Method Detail

#### getExpressionText

    String getExpressionText()

Returns this expression's snippet of code.

Returns:
  the expression

#### getValue

    IValue getValue()

Returns the current value of this expression or `null` if this expression does not currently have a value.

Returns:
  value or `null`

#### getDebugTarget

    IDebugTarget getDebugTarget()

Returns the debug target this expression is associated with, or `null` if this expression is not associated with a debug target.

Specified by:
  `getDebugTarget` in interface `IDebugElement`
Returns:
  debug target or `null`
See Also:
  `IDebugElement.getDebugTarget()`

#### dispose

    void dispose()

Notifies this expression that it has been removed from the expression manager. Any required clean up is be performed such that this expression can be garbage collected.