001package org.clafer.ir;
002
003/**
004 *
005 * @author jimmy
006 */
007public class IrBoolVar extends IrIntVar implements IrBoolExpr, IrVar {
008
009    IrBoolVar(String name, IrBoolDomain domain) {
010        super(name, domain);
011    }
012
013    @Override
014    public IrBoolDomain getDomain() {
015        return (IrBoolDomain) super.getDomain();
016    }
017
018    @Override
019    public IrBoolExpr negate() {
020        return new IrNot(this, getDomain().invert());
021    }
022
023    @Override
024    public boolean isNegative() {
025        return false;
026    }
027
028    @Override
029    public <A, B> B accept(IrBoolExprVisitor<A, B> visitor, A a) {
030        return visitor.visit(this, a);
031    }
032
033    @Override
034    public <A, B> B accept(IrIntExprVisitor<A, B> visitor, A a) {
035        return visitor.visit(this, a);
036    }
037}