package lux.xquery; import lux.xpath.AbstractExpression; import lux.xpath.ExpressionVisitor; public class InstanceOf extends AbstractExpression { private final String typeName; public InstanceOf (String typeName, AbstractExpression valueExpr) { super (Type.INSTANCE_OF); this.typeName = typeName; subs = new AbstractExpression [] { valueExpr }; } @Override public AbstractExpression accept(ExpressionVisitor visitor) { super.acceptSubs(visitor); return visitor.visit(this); } @Override public void toString(StringBuilder buf) { subs[0].toString(buf); buf.append (" instance of ").append(typeName); } @Override public int getPrecedence() { return 12; } /** * @return the binding context of the base expression */ @Override public VariableContext getBindingContext () { return subs[0].getBindingContext(); } }