Class FIsAReducer
- java.lang.Object
-
- org.checkerframework.framework.util.typeinference.constraint.FIsAReducer
-
- All Implemented Interfaces:
AFReducer
public class FIsAReducer extends java.lang.Object implements 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
Fields Modifier and Type Field Description protected org.checkerframework.framework.util.typeinference.constraint.FIsAReducer.FIsAReducingVisitor
visitor
-
Constructor Summary
Constructors Constructor Description FIsAReducer(AnnotatedTypeFactory atypeFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
reduce(AFConstraint constraint, java.util.Set<AFConstraint> newConstraints)
Determines if the input constraint should be handled by this reducer.
-
-
-
Constructor Detail
-
FIsAReducer
public FIsAReducer(AnnotatedTypeFactory atypeFactory)
-
-
Method Detail
-
reduce
public boolean reduce(AFConstraint constraint, java.util.Set<AFConstraint> newConstraints)
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
-
-