Class BoundSet


  • public class BoundSet
    extends java.lang.Object
    Author:
    Federico Tomassetti
    • Constructor Detail

      • BoundSet

        public BoundSet()
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isTrue

        public boolean isTrue()
        It is sometimes convenient to refer to an empty bound set with the symbol true; this is merely out of convenience, and the two are interchangeable.
      • empty

        public static BoundSet empty()
      • isEmpty

        public boolean isEmpty()
      • incorporate

        public BoundSet incorporate​(BoundSet otherBounds,
                                    com.github.javaparser.resolution.TypeSolver typeSolver)
        Maintains a set of inference variable bounds, ensuring that these are consistent as new bounds are added. Because the bounds on one variable can sometimes impact the possible choices for another variable, this process propagates bounds between such interdependent variables.
      • deriveImpliedBounds

        public BoundSet deriveImpliedBounds​(com.github.javaparser.resolution.TypeSolver typeSolver)
      • containsFalse

        public boolean containsFalse()
      • performResolution

        public java.util.Optional<InstantiationSet> performResolution​(java.util.List<InferenceVariable> variablesToResolve,
                                                                      com.github.javaparser.resolution.TypeSolver typeSolver)
        Examines the bounds on an inference variable and determines an instantiation that is compatible with those bounds. It also decides the order in which interdependent inference variables are to be resolved.
      • getProperUpperBoundsFor

        public java.util.List<Bound> getProperUpperBoundsFor​(InferenceVariable inferenceVariable)