Search in sources :

Example 1 with PerlLayersDescriptor

use of com.perl5.lang.perl.idea.run.debugger.protocol.PerlLayersDescriptor in project Perl5-IDEA by Camelcade.

the class PerlXNamedValue method computeChildren.

@Override
public void computeChildren(@NotNull XCompositeNode node) {
    boolean isExpandable = myPerlValueDescriptor.isExpandable();
    PerlLayersDescriptor layers = myPerlValueDescriptor.getLayers();
    PerlValueDescriptor tiedWith = myPerlValueDescriptor.getTiedWith();
    if (!isExpandable && layers == null && tiedWith == null || StringUtil.isEmpty(myPerlValueDescriptor.getKey())) {
        super.computeChildren(node);
    }
    XValueChildrenList childrenList = new XValueChildrenList();
    if (layers != null) {
        childrenList.add(new PerlXLayersNamedValue(layers));
    }
    if (tiedWith != null) {
        childrenList.addTopGroup(new PerlTiedNamedValue(tiedWith, myStackFrame));
    }
    node.addChildren(childrenList, !isExpandable);
    if (isExpandable) {
        PerlDebugUtil.requestAndComputeChildren(node, myStackFrame, offset, myPerlValueDescriptor.getSize(), myPerlValueDescriptor.getKey());
    }
}
Also used : PerlLayersDescriptor(com.perl5.lang.perl.idea.run.debugger.protocol.PerlLayersDescriptor) PerlValueDescriptor(com.perl5.lang.perl.idea.run.debugger.protocol.PerlValueDescriptor)

Aggregations

PerlLayersDescriptor (com.perl5.lang.perl.idea.run.debugger.protocol.PerlLayersDescriptor)1 PerlValueDescriptor (com.perl5.lang.perl.idea.run.debugger.protocol.PerlValueDescriptor)1