package de.gaalop.codegen_verilog.VerilogIR.VerilogNodes;
import java.util.Vector;
import de.gaalop.cfg.Node;
import de.gaalop.codegen_verilog.VerilogIR.VerilogDFG;
import de.gaalop.dfg.Expression;
public class VerilogNode {
private Node embeddednode;
private Vector<VerilogNode> predecessors= new Vector();
private Vector<VerilogNode> successors = new Vector();
private int level;
private boolean isMemberOfExpression=false;
private VerilogDFG dfg;
private Expression expnode;
private String varname;
public VerilogNode(VerilogDFG dfg) {
super();
this.dfg = dfg;
}
public void setVarname(String varname) {
this.varname = varname;
}
public String getVarname() {
return varname;
}
public void setNode(Expression n){
this.expnode=n;
}
public Expression getNode(){
return this.expnode;
}
public VerilogNode[] getSuccessors(){
return (VerilogNode[]) successors.toArray();
}
public VerilogNode[] getPredecessors(){
return (VerilogNode[])predecessors.toArray(new VerilogNode[0]);
}
public void newDFGPredecessor (VerilogNode n){
predecessors.add(n);
}
public void newDFGSuccesor(VerilogNode n){
successors.add(n);
}
public void appendDFGNode (VerilogNode n){
System.out.println("Appending Successor: " + n.getVarname()+ " to: " + this.getClass().getSimpleName() );
successors.add(n);
n.newDFGPredecessor(this);
}
public void insertBeforeDFGNode (VerilogNode n){
predecessors.add(n);
}
public void setlevel (int l)
{
this.level = l;
}
public int getlevel ()
{
return this.level;
}
}