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 Expressionoptimize(Expression node)(package private) static <T> LambdaExpression<T>optimize(LambdaExpression<T> node)private ExpressionreduceBooleanConstantComparison(BinaryExpression node)private ExpressionreduceDoubleNot(UnaryExpression node)private ExpressionreduceNullConstantCheck(UnaryExpression node)private ExpressionreduceNullConstantComparison(BinaryExpression node)protected ExpressionvisitBinary(BinaryExpression node)protected ExpressionvisitUnary(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:
visitBinaryin classExpressionVisitor
-
visitUnary
protected Expression visitUnary(UnaryExpression node)
- Overrides:
visitUnaryin 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)
-
-