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