- state.invokeReductions(phase().token, this, true, null);
- if (!fromEmptyReduction)
- state.invokeReductions(phase().getToken(), this, false, null);
+ public void removeChild(Result child) {
+ if (children==null) return;
+ children.remove(child);
+ check();
+ }
+ public void removeResult(Result result) {
+ if (results==null) return;
+ results.remove(result);
+ check();
+ }
+ public void addChild(Result child) {
+ if (children==null) return; // FIXME: this should not happen
+ children.add(child);
+ }
+ public void addResult(Result r) {
+ if (results.contains(r)) return;
+ results.add(r);
+ r.addChild(this);
+ if (!fromEmptyReduction) state.invokeReductions(phase().getToken(), this, r);