/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package datapath.graph.operations;
import datapath.graph.OperationVisitor;
/**
*
* @author jh
*/
public class Dummy extends NaryOperation {
private Object dummy;
@Override
public String getDisplayLabel() {
return "DUMMY: " + (dummy == null ? debugMessage : dummy.toString());
}
public Dummy(Object dummy) {
this.dummy = dummy;
}
@Override
public void visit(OperationVisitor visitor) {
visitor.visit(this);
}
public void replaceWith(Operation op){
Operation[] uses = getUse().toArray(new Operation[0]);
for(Operation use :uses){
use.replace(this, op);
}
for(Predicate p : getPredicates()){
op.addPredicate(p);
}
assert this.getUse().size() == 0;
}
@Override
public String toString() {
return "DUMMY OP"+getNumber()+": " + (dummy == null ? debugMessage : dummy.toString());
//return "DUMMY: " + (dummy == null ? "" : dummy.toString());
}
}