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}