package rpn.basic;

import java.util.Hashtable;
import rpn.Calculator;

public class NotItem extends Item {

	public NotItem(Calculator ca) {
		super(ca);
		ca.systemInstall(this);
	}
	
	public void exec() {
		if (ca.check(1)) {
			Item a = ca.peek();
			if (a instanceof BooleanItem) {
				boolean x = ((BooleanItem) a).v;
				ca.pop(1);
				ca.push(new BooleanItem(ca, !x));
			}
			else {
				ca.error(this, CalcErr.Type);
			}
		} else {
			ca.error(this, CalcErr.Underflow);
		}
	}
	
	public String toString() {
		return("not");
	}
}