public boolean isLeaf(Object node) throws UnknownTypeException { if (node == ROOT) return false; if (node instanceof JPDAWatchEvaluating) { JPDAWatchEvaluating jwe = (JPDAWatchEvaluating) node; if (!jwe.getWatch().isEnabled()) { return true; } if (!jwe.isCurrent()) { return false; // When not yet evaluated, suppose that it's not leaf } JPDAWatch jw = jwe.getEvaluatedWatch(); if (jw instanceof JPDAWatchImpl) { return ((JPDAWatchImpl) jw).isPrimitive(); } } if (node == EMPTY_WATCH) return true; return getLocalsTreeModel().isLeaf(node); }
@Override public JPDAWatchEvaluating clone() { JPDAWatchEvaluating clon = new JPDAWatchEvaluating(model, w, debugger, cloneNumber++); clon.setEvaluated(evaluatedWatch); return clon; }
void fireTableValueChangedChanged(Object node, String propertyName) { ((JPDAWatchEvaluating) node).setEvaluated(null); fireTableValueChangedComputed(node, propertyName); }