public class OptimizeVisitor extends Visitor
The optimizations are essential, not mere tweaks. Without
optimization, expressions such as false == null
will be left in,
which are invalid to Janino (because it does not automatically box
primitives).
Modifier and Type | Field and Description |
---|---|
static MemberExpression |
BOXED_FALSE_EXPR |
static MemberExpression |
BOXED_TRUE_EXPR |
static Statement |
EMPTY_STATEMENT |
static ConstantExpression |
FALSE_EXPR |
static ConstantExpression |
TRUE_EXPR |
Constructor and Description |
---|
OptimizeVisitor() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
isKnownNotNull(Expression expression)
Returns whether an expression always returns a non-null result.
|
Expression |
visit(BinaryExpression binary,
Expression expression0,
Expression expression1) |
Statement |
visit(ConditionalStatement conditionalStatement,
List<Node> list) |
Expression |
visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
visit(TernaryExpression ternary,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
visit(UnaryExpression unaryExpression,
Expression expression) |
preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, preVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
public static final ConstantExpression FALSE_EXPR
public static final ConstantExpression TRUE_EXPR
public static final MemberExpression BOXED_FALSE_EXPR
public static final MemberExpression BOXED_TRUE_EXPR
public static final Statement EMPTY_STATEMENT
public Expression visit(TernaryExpression ternary, Expression expression0, Expression expression1, Expression expression2)
public Expression visit(BinaryExpression binary, Expression expression0, Expression expression1)
public Expression visit(UnaryExpression unaryExpression, Expression expression)
public Statement visit(ConditionalStatement conditionalStatement, List<Node> list)
public Expression visit(MethodCallExpression methodCallExpression, Expression targetExpression, List<Expression> expressions)
protected boolean isKnownNotNull(Expression expression)
expression
- expression to testCopyright © 2012-2014 Julian Hyde. All Rights Reserved.