Package com.strobel.expressions
Class Optimizer
- java.lang.Object
-
- com.strobel.expressions.ExpressionVisitor
-
- com.strobel.expressions.Optimizer
-
final class Optimizer extends ExpressionVisitor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.strobel.expressions.ExpressionVisitor
ExpressionVisitor.ElementVisitor<T>
-
-
Constructor Summary
Constructors Constructor Description Optimizer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static Expression
optimize(Expression node)
(package private) static <T> LambdaExpression<T>
optimize(LambdaExpression<T> node)
private Expression
reduceBooleanConstantComparison(BinaryExpression node)
private Expression
reduceDoubleNot(UnaryExpression node)
private Expression
reduceNullConstantCheck(UnaryExpression node)
private Expression
reduceNullConstantComparison(BinaryExpression node)
protected Expression
visitBinary(BinaryExpression node)
protected Expression
visitUnary(UnaryExpression node)
-
Methods inherited from class com.strobel.expressions.ExpressionVisitor
visit, visit, visit, visitAndConvert, visitAndConvertList, visitAndConvertList, visitArguments, visitBlock, visitCatchBlock, visitConcat, visitConditional, visitConstant, visitDefaultValue, visitExtension, visitFor, visitForEach, visitGoto, visitInvocation, visitLabel, visitLabelTarget, visitLambda, visitLoop, visitMember, visitMethodCall, visitNew, visitNewArray, visitParameter, visitRuntimeVariables, visitSwitch, visitSwitchCase, visitTry, visitTypeBinary
-
-
-
-
Field Detail
-
OPTIMIZER
private static final Optimizer OPTIMIZER
-
-
Method Detail
-
optimize
static Expression optimize(Expression node)
-
optimize
static <T> LambdaExpression<T> optimize(LambdaExpression<T> node)
-
visitBinary
protected Expression visitBinary(BinaryExpression node)
- Overrides:
visitBinary
in classExpressionVisitor
-
visitUnary
protected Expression visitUnary(UnaryExpression node)
- Overrides:
visitUnary
in classExpressionVisitor
-
reduceNullConstantCheck
private Expression reduceNullConstantCheck(UnaryExpression node)
-
reduceDoubleNot
private Expression reduceDoubleNot(UnaryExpression node)
-
reduceNullConstantComparison
private Expression reduceNullConstantComparison(BinaryExpression node)
-
reduceBooleanConstantComparison
private Expression reduceBooleanConstantComparison(BinaryExpression node)
-
-