public Expression reduce(int i, Context context) throws XPathException { /* 124*/ if ((node.getDependencies() & i) != 0) { /* 125*/ Object obj = node.reduce(i, context); /* 126*/ if (obj instanceof SingletonExpression) { /* 127*/ obj = new SingletonComparison((SingletonExpression) obj, operator, value); /* 131*/ ((Expression) (obj)).setStaticContext(getStaticContext()); /* 132*/ return ((Expression) (obj)).simplify(); } /* 133*/ if (obj instanceof NodeSetValue) /* 134*/ return new BooleanValue(((NodeSetValue) obj).compare(operator, value)); /* 136*/ else /* 136*/ throw new XPathException( "Failed to reduce SingletonComparison: returned " + obj.getClass()); } else { /* 139*/ return this; } }
public int getDependencies() { /* 111*/ return node.getDependencies(); }