java.lang.Object
com.github.javaparser.symbolsolver.resolution.typeinference.BoundSet

public class BoundSet extends Object
Author:
Federico Tomassetti
  • Constructor Details

    • BoundSet

      public BoundSet()
  • Method Details

    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class 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()
    • withBound

      public BoundSet withBound(Bound bound)
    • isEmpty

      public boolean isEmpty()
    • incorporate

      public BoundSet incorporate(BoundSet otherBounds, 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(TypeSolver typeSolver)
    • containsFalse

      public boolean containsFalse()
    • performResolution

      public Optional<InstantiationSet> performResolution(List<InferenceVariable> variablesToResolve, 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 List<Bound> getProperUpperBoundsFor(InferenceVariable inferenceVariable)