public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XValueTextProvider, XValueWithInlinePresentation
Modifier and Type | Class and Description |
---|---|
static class |
JavaValue.JavaFullValueEvaluator |
myName
Modifier | Constructor and Description |
---|---|
protected |
JavaValue(JavaValue parent,
java.lang.String name,
ValueDescriptorImpl valueDescriptor,
EvaluationContextImpl evaluationContext,
NodeManagerImpl nodeManager,
boolean contextSet) |
protected |
JavaValue(JavaValue parent,
ValueDescriptorImpl valueDescriptor,
EvaluationContextImpl evaluationContext,
NodeManagerImpl nodeManager,
boolean contextSet) |
Modifier and Type | Method and Description |
---|---|
Promise<XExpression> |
calculateEvaluationExpression()
Asynchronously calculates expression which evaluates to the current value
|
boolean |
canBePinned() |
boolean |
canNavigateToTypeSource()
Return
true from this method and override XValue.computeTypeSourcePosition(XNavigatable) if navigation to the value's type
is supported for the value |
void |
computeChildren(XCompositeNode node)
Start computing children of 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 |
java.lang.String |
computeInlinePresentation()
Value to be shown near variable in execution line (experimental feature).
|
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. |
static JavaValue |
create(JavaValue parent,
ValueDescriptorImpl valueDescriptor,
EvaluationContextImpl evaluationContext,
NodeManagerImpl nodeManager,
boolean contextSet) |
static XValuePresentation |
createPresentation(ValueDescriptorImpl descriptor) |
ValueDescriptorImpl |
getDescriptor() |
EvaluationContextImpl |
getEvaluationContext() |
XInstanceEvaluator |
getInstanceEvaluator() |
XValueModifier |
getModifier() |
NodeManagerImpl |
getNodeManager() |
JavaValue |
getParent() |
Project |
getProject() |
XReferrersProvider |
getReferrersProvider()
This enables showing referrers for the value
|
java.lang.String |
getTypeName() |
java.lang.String |
getValueText() |
void |
reBuild(XValueNodeImpl node) |
protected static boolean |
scheduleCommand(EvaluationContextImpl evaluationContext,
XCompositeNode node,
SuspendContextCommandImpl command) |
void |
setRenderer(NodeRenderer nodeRenderer,
XValueNodeImpl node) |
getName, toString
canNavigateToSource, getEvaluationExpression
protected JavaValue(JavaValue parent, ValueDescriptorImpl valueDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager, boolean contextSet)
protected JavaValue(JavaValue parent, java.lang.String name, ValueDescriptorImpl valueDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager, boolean contextSet)
public java.lang.String getTypeName()
public boolean canBePinned()
public static JavaValue create(JavaValue parent, ValueDescriptorImpl valueDescriptor, EvaluationContextImpl evaluationContext, NodeManagerImpl nodeManager, boolean contextSet)
public JavaValue getParent()
public ValueDescriptorImpl getDescriptor()
getDescriptor
in interface NodeDescriptorProvider
public EvaluationContextImpl getEvaluationContext()
public NodeManagerImpl getNodeManager()
public void computePresentation(XValueNode node, XValuePlace place)
XValue
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.computePresentation
in class XValue
node
- nodeplace
- where the node will be shown.public static XValuePresentation createPresentation(ValueDescriptorImpl descriptor)
public void computeChildren(XCompositeNode node)
XValueContainer
XCompositeNode.addChildren(XValueChildrenList, boolean)
to add child nodes.
Note that this method is called from the Event Dispatch thread so it should return quickly.computeChildren
in class XValueContainer
node
- node in the treeprotected static boolean scheduleCommand(EvaluationContextImpl evaluationContext, XCompositeNode node, SuspendContextCommandImpl command)
public void computeSourcePosition(XNavigatable navigatable)
XValue
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.computeSourcePosition
in class XValue
navigatable
- navigatablepublic ThreeState computeInlineDebuggerData(XInlineDebuggerDataCallback callback)
XValue
ThreeState.UNSURE
if unsupported (default platform implementation will be used),
ThreeState.YES
if applicable
ThreeState.NO
if not applicablecomputeInlineDebuggerData
in class XValue
public Project getProject()
public boolean canNavigateToTypeSource()
XValue
true
from this method and override XValue.computeTypeSourcePosition(XNavigatable)
if navigation to the value's type
is supported for the valuecanNavigateToTypeSource
in class XValue
true
if navigation to the value's type is supportedpublic void computeTypeSourcePosition(XNavigatable navigatable)
XValue
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.computeTypeSourcePosition
in class XValue
public XValueModifier getModifier()
getModifier
in class XValue
XValueModifier
instance which can be used to modify the valuepublic Promise<XExpression> calculateEvaluationExpression()
XValue
calculateEvaluationExpression
in class XValue
public java.lang.String getValueText()
getValueText
in interface XValueTextProvider
public XReferrersProvider getReferrersProvider()
XValue
getReferrersProvider
in class XValue
public XInstanceEvaluator getInstanceEvaluator()
getInstanceEvaluator
in class XValue
public void setRenderer(NodeRenderer nodeRenderer, XValueNodeImpl node)
public void reBuild(XValueNodeImpl node)
public java.lang.String computeInlinePresentation()
XValueWithInlinePresentation
computeInlinePresentation
in interface XValueWithInlinePresentation