jd.xml.xpath.expr.visitor
Class ExprSimplifier
java.lang.Object
jd.xml.xpath.expr.visitor.ExprSimplifier
- All Implemented Interfaces:
- ExpressionVisitor
- public class ExprSimplifier
- extends Object
- implements ExpressionVisitor
ExprSimplifier simplifies a Expression by evaluating all constant
subtrees.
Method Summary |
void |
add(Expression expr,
Expression lhs,
Expression rhs)
|
void |
and(Expression expr,
Expression lhs,
Expression rhs)
|
void |
compare(Expression expr,
Expression lhs,
Equality equality,
Expression rhs)
Called by a equality expression. |
void |
compare(Expression expr,
Expression lhs,
Relation relation,
Expression rhs)
|
void |
composedPath(Expression expr,
Expression[] steps)
|
void |
composedPath(Expression expr,
Expression lhs,
Expression rhs)
|
void |
constant(Expression expr,
XObject object)
|
void |
divide(Expression expr,
Expression lhs,
Expression rhs)
|
void |
function(Expression expr,
String name,
Expression[] args)
|
void |
invalid(Expression expr,
String message,
String error)
|
void |
locationStep(Expression expr,
Axis axis,
NodeTest nodeTest)
|
void |
locationStep(Expression expr,
Axis axis,
NodeTest nodeTest,
Expression predicate,
boolean useForwardProximity,
boolean isUniqueFilter)
|
void |
modulo(Expression expr,
Expression lhs,
Expression rhs)
|
void |
multiply(Expression expr,
Expression lhs,
Expression rhs)
|
void |
negate(Expression expr,
Expression innerExpr)
|
void |
or(Expression expr,
Expression lhs,
Expression rhs)
|
void |
parenthesis(Expression expr,
Expression innerExpr)
|
void |
predicate(Expression expr,
Expression nodeSetExpr,
Expression predicate,
boolean useForwardProximity)
|
void |
root(Expression expr)
|
Expression |
simplify(Expression expr)
|
void |
subtract(Expression expr,
Expression lhs,
Expression rhs)
|
void |
union(Expression expr,
Expression lhs,
Expression rhs)
|
void |
variableReference(Expression expr,
VariableName name)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExprSimplifier
public ExprSimplifier()
simplify
public Expression simplify(Expression expr)
add
public void add(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
add
in interface ExpressionVisitor
and
public void and(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
and
in interface ExpressionVisitor
compare
public void compare(Expression expr,
Expression lhs,
Equality equality,
Expression rhs)
- Description copied from interface:
ExpressionVisitor
- Called by a equality expression.
- Specified by:
compare
in interface ExpressionVisitor
- Parameters:
expr
- the equality expressionlhs
- the lhs operandrhs
- the rhs operand
compare
public void compare(Expression expr,
Expression lhs,
Relation relation,
Expression rhs)
- Specified by:
compare
in interface ExpressionVisitor
composedPath
public void composedPath(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
composedPath
in interface ExpressionVisitor
composedPath
public void composedPath(Expression expr,
Expression[] steps)
- Specified by:
composedPath
in interface ExpressionVisitor
constant
public void constant(Expression expr,
XObject object)
- Specified by:
constant
in interface ExpressionVisitor
divide
public void divide(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
divide
in interface ExpressionVisitor
function
public void function(Expression expr,
String name,
Expression[] args)
- Specified by:
function
in interface ExpressionVisitor
invalid
public void invalid(Expression expr,
String message,
String error)
- Specified by:
invalid
in interface ExpressionVisitor
locationStep
public void locationStep(Expression expr,
Axis axis,
NodeTest nodeTest)
- Specified by:
locationStep
in interface ExpressionVisitor
locationStep
public void locationStep(Expression expr,
Axis axis,
NodeTest nodeTest,
Expression predicate,
boolean useForwardProximity,
boolean isUniqueFilter)
- Specified by:
locationStep
in interface ExpressionVisitor
modulo
public void modulo(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
modulo
in interface ExpressionVisitor
multiply
public void multiply(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
multiply
in interface ExpressionVisitor
negate
public void negate(Expression expr,
Expression innerExpr)
- Specified by:
negate
in interface ExpressionVisitor
or
public void or(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
or
in interface ExpressionVisitor
parenthesis
public void parenthesis(Expression expr,
Expression innerExpr)
- Specified by:
parenthesis
in interface ExpressionVisitor
predicate
public void predicate(Expression expr,
Expression nodeSetExpr,
Expression predicate,
boolean useForwardProximity)
- Specified by:
predicate
in interface ExpressionVisitor
root
public void root(Expression expr)
- Specified by:
root
in interface ExpressionVisitor
subtract
public void subtract(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
subtract
in interface ExpressionVisitor
union
public void union(Expression expr,
Expression lhs,
Expression rhs)
- Specified by:
union
in interface ExpressionVisitor
variableReference
public void variableReference(Expression expr,
VariableName name)
- Specified by:
variableReference
in interface ExpressionVisitor