org.eclipse.debug.core.model
Interface IVariable
-
All Superinterfaces:
-
IAdaptable,
IDebugElement,
IValueModification
-
All Known Subinterfaces:
-
IRegister
-
public interface IVariable
- extends
IDebugElement,
IValueModification
A variable represents a visible data structure in a stack frame
or value.
Each variable has a value which may in turn contain more variables.
A variable may support value modification.
An implementation may choose to re-use or discard
variables on iterative thread suspensions. Clients
cannot assume that variables are identical or equal across
iterative thread suspensions and must check for equality on iterative
suspensions if they wish to re-use the objects.
An implementation that preserves equality
across iterative suspensions may display more desirable behavior in
some clients. For example, if variables are preserved
while stepping, a UI client would be able to update the UI incrementally,
rather than collapse and redraw the entire list or tree.
Clients may implement this interface.
-
See Also:
-
IValue
,
IStackFrame
,
IValueModification
Method Summary
|
String
|
getName
()
Returns the name of this variable. |
String
|
getReferenceTypeName
()
Returns a description of the type of data this variable is
declared to reference. |
IValue
|
getValue
()
Returns the value of this variable. |
boolean
|
hasValueChanged
()
Returns whether this variable's value has changed since the last suspend event. |
getValue
IValue getValue()
throws
DebugException
- Returns the value of this variable.
-
-
-
Returns:
- this variable's value
-
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.
getName
String getName()
throws
DebugException
- Returns the name of this variable. Name format is debug model
specific, and should be specified by a debug model.
-
-
-
Returns:
- this variable's 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.
getReferenceTypeName
String getReferenceTypeName()
throws
DebugException
- Returns a description of the type of data this variable is
declared to reference. Note that the declared type of a
variable and the concrete type of its value are not necessarily
the same.
-
-
-
Returns:
- the declared type of this variable
-
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.
hasValueChanged
boolean hasValueChanged()
throws
DebugException
- Returns whether this variable's value has changed since the last suspend event.
Implementations may choose whether the last suspend event is the last suspend
event in this variable's debug target, or within the thread(s) in which this variable
is visible.
Implementations that choose not to implement this function should always
return false
.
-
-
-
Returns:
- whether this variable's value has changed since the last suspend event
-
Throws:
-
DebugException
- if an exception occurs determining if this variable's
value has changed since the last suspend event
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.