Class JavaExpressionOptimizer
java.lang.Object
org.checkerframework.dataflow.expression.JavaExpressionVisitor<JavaExpression,Void>
org.checkerframework.dataflow.expression.JavaExpressionConverter
org.checkerframework.common.value.JavaExpressionOptimizer
Optimize the given JavaExpression. If the supplied factory is a
ValueAnnotatedTypeFactory, this implementation replaces any expression that the factory has an
exact value for, and does a small (not exhaustive) amount of constant-folding as well. If the
factory is some other factory, less optimization occurs.-
Constructor Summary
ConstructorsConstructorDescriptionCreates a JavaExpressionOptimizer. -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaExpressionvisitFieldAccess(FieldAccess fieldAccessExpr, Void unused) Visit aFieldAccess.protected JavaExpressionvisitLocalVariable(LocalVariable localVarExpr, Void unused) Visit aLocalVariable.protected JavaExpressionvisitMethodCall(MethodCall methodCallExpr, Void unused) Visit aMethodCall.Methods inherited from class org.checkerframework.dataflow.expression.JavaExpressionConverter
convert, convert, visitArrayAccess, visitArrayCreation, visitBinaryOperation, visitClassName, visitFormalParameter, visitSuperReference, visitThisReference, visitUnaryOperation, visitUnknown, visitValueLiteralMethods inherited from class org.checkerframework.dataflow.expression.JavaExpressionVisitor
visit
-
Constructor Details
-
JavaExpressionOptimizer
Creates a JavaExpressionOptimizer.- Parameters:
factory- an annotated type factory
-
-
Method Details
-
visitFieldAccess
Description copied from class:JavaExpressionVisitorVisit aFieldAccess.- Overrides:
visitFieldAccessin classJavaExpressionConverter- Parameters:
fieldAccessExpr- the JavaExpression to visitunused- the parameter to pass to the visit method- Returns:
- the result of visiting the
fieldAccessExpr
-
visitLocalVariable
Description copied from class:JavaExpressionVisitorVisit aLocalVariable.- Overrides:
visitLocalVariablein classJavaExpressionConverter- Parameters:
localVarExpr- the JavaExpression to visitunused- the parameter to pass to the visit method- Returns:
- the result of visiting the
localVarExpr
-
visitMethodCall
Description copied from class:JavaExpressionVisitorVisit aMethodCall.- Overrides:
visitMethodCallin classJavaExpressionConverter- Parameters:
methodCallExpr- the JavaExpression to visitunused- the parameter to pass to the visit method- Returns:
- the result of visiting the
methodCallExpr
-