Class FIsAReducer
java.lang.Object
org.checkerframework.framework.util.typeinference.constraint.FIsAReducer
- All Implemented Interfaces:
AFReducer
FIsAReducer takes an FIsA constraint that is not irreducible (@see AFConstraint.isIrreducible)
and reduces it by one step. The resulting constraint may still be reducible.
Generally reductions should map to corresponding rules in https://docs.oracle.com/javase/specs/jls/se17/html/jls-15.html#jls-15.12.2.7
-
Field Summary
Modifier and TypeFieldDescriptionprotected final org.checkerframework.framework.util.typeinference.constraint.FIsAReducer.FIsAReducingVisitor
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
reduce
(AFConstraint constraint, Set<AFConstraint> newConstraints) Determines if the input constraint should be handled by this reducer.
-
Field Details
-
visitor
protected final org.checkerframework.framework.util.typeinference.constraint.FIsAReducer.FIsAReducingVisitor visitor
-
-
Constructor Details
-
FIsAReducer
-
-
Method Details
-
reduce
Description copied from interface:AFReducer
Determines if the input constraint should be handled by this reducer. If so: Reduces the constraint into one or more new constraints. Any new constraint that can still be reduced is placed in newConstraints. New irreducible constraints are placed in finish. Return true Return false (indicating that some other reducer needs to handle this constraint) If false is returned, the reducer should NOT place any constraints in newConstraints or finished
-