public void update(MutableVarValue val) { // DisjointCondVarValue VarValue = (DisjointCondVarValue)value(); if (value.stamp == store.level) { // System.out.print("1. Level: "+store.level()+", IN "+VarValue+", // New " + val); value.setValue(((DisjointCondVarValue) val).Rects); // System.out.println(", OUT "+ value); } else if (value.stamp < store.level) { // System.out.print("2. Level: "+store.level()+", IN "+this+", New " // + val); val.setStamp(store.level); val.setPrevious(value); value = (DisjointCondVarValue) val; // System.out.println("\n=> OUT "+ this+ "\nOLD "+ value().next()); } }
DisjointCondVar(Store S, Vector<RectangleWithCondition> R) { value = new DisjointCondVarValue(); value.setValue(R); index = S.putMutableVar(this); store = S; }