public abstract class XValue extends XValueContainer
XValueContainer.computeChildren(com.intellij.xdebugger.frame.XCompositeNode)
if value has a properties which should be shown as child nodesConstructor and Description |
---|
XValue() |
Modifier and Type | Method and Description |
---|---|
Promise<XExpression> |
calculateEvaluationExpression()
Asynchronously calculates expression which evaluates to the current value
|
boolean |
canNavigateToSource()
Return
true from this method and override computeSourcePosition(XNavigatable) if navigation to the source
is supported for the value |
boolean |
canNavigateToTypeSource()
Return
true from this method and override computeTypeSourcePosition(XNavigatable) if navigation to the value's type
is supported for the value |
ThreeState |
computeInlineDebuggerData(XInlineDebuggerDataCallback callback)
Provide inline debugger data, return ability to provide, use
ThreeState.UNSURE if unsupported (default platform implementation will be used),
ThreeState.YES if applicable
ThreeState.NO if not applicable |
abstract void |
computePresentation(XValueNode node,
XValuePlace place)
Start computing presentation of the value in the debugger tree and call
XValueNode.setPresentation(javax.swing.Icon, String, String, boolean)
when computation is finished. |
void |
computeSourcePosition(XNavigatable navigatable)
Start computing source position of the value and call
XNavigatable.setSourcePosition(com.intellij.xdebugger.XSourcePosition)
when computation is finished. |
void |
computeTypeSourcePosition(XNavigatable navigatable)
Start computing source position of the value's type and call
XNavigatable.setSourcePosition(com.intellij.xdebugger.XSourcePosition)
when computation is finished. |
java.lang.String |
getEvaluationExpression() |
XInstanceEvaluator |
getInstanceEvaluator() |
XValueModifier |
getModifier() |
XReferrersProvider |
getReferrersProvider()
This enables showing referrers for the value
|
computeChildren
public abstract void computePresentation(XValueNode node, XValuePlace place)
XValueNode.setPresentation(javax.swing.Icon, String, String, boolean)
when computation is finished.
Note that this method is called from the Event Dispatch thread so it should return quickly.node
- nodeplace
- where the node will be shown.public java.lang.String getEvaluationExpression()
public Promise<XExpression> calculateEvaluationExpression()
public XInstanceEvaluator getInstanceEvaluator()
public XValueModifier getModifier()
XValueModifier
instance which can be used to modify the valuepublic void computeSourcePosition(XNavigatable navigatable)
XNavigatable.setSourcePosition(com.intellij.xdebugger.XSourcePosition)
when computation is finished.
Note that this method is called from the Event Dispatch thread so it should return quickly.navigatable
- navigatablepublic ThreeState computeInlineDebuggerData(XInlineDebuggerDataCallback callback)
ThreeState.UNSURE
if unsupported (default platform implementation will be used),
ThreeState.YES
if applicable
ThreeState.NO
if not applicablepublic boolean canNavigateToSource()
true
from this method and override computeSourcePosition(XNavigatable)
if navigation to the source
is supported for the valuetrue
if navigation to the value's source is supportedpublic boolean canNavigateToTypeSource()
true
from this method and override computeTypeSourcePosition(XNavigatable)
if navigation to the value's type
is supported for the valuetrue
if navigation to the value's type is supportedpublic void computeTypeSourcePosition(XNavigatable navigatable)
XNavigatable.setSourcePosition(com.intellij.xdebugger.XSourcePosition)
when computation is finished.
Note that this method is called from the Event Dispatch thread so it should return quickly.public XReferrersProvider getReferrersProvider()