package name.panitz.fun4u.machine;

public class Case implements Instruction {
	public String name;
	public int n;
	public int adr;
	public String funName;
	
	public Case(String name, int n,String funName) {
		super();
		this.name = name;
		this.n=n;
		this.funName = funName;
	}

	@Override
	public void execute(Kellermaschine kellermaschine) {
		HeapNode top = kellermaschine.heap[kellermaschine.keller.peek()];
		if (top instanceof StructO ) {
			StructO struct = (StructO) top;
			if (struct.name.equals(name)){
				kellermaschine.keller.pop();
				for (int a:struct.args){
					kellermaschine.keller.push(a);
				}
				kellermaschine.pc=adr;
				return;
			}
		}
		kellermaschine.pc++;
	}
}
