Class BoundSet
- java.lang.Object
-
- com.github.javaparser.symbolsolver.resolution.typeinference.BoundSet
-
public class BoundSet extends Object
- Author:
- Federico Tomassetti
-
-
Constructor Summary
Constructors Constructor Description BoundSet()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsFalse()
BoundSet
deriveImpliedBounds(com.github.javaparser.symbolsolver.model.resolution.TypeSolver typeSolver)
static BoundSet
empty()
boolean
equals(Object o)
List<Bound>
getProperUpperBoundsFor(InferenceVariable inferenceVariable)
int
hashCode()
BoundSet
incorporate(BoundSet otherBounds, com.github.javaparser.symbolsolver.model.resolution.TypeSolver typeSolver)
Maintains a set of inference variable bounds, ensuring that these are consistent as new bounds are added.boolean
isEmpty()
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.Optional<InstantiationSet>
performResolution(List<InferenceVariable> variablesToResolve, com.github.javaparser.symbolsolver.model.resolution.TypeSolver typeSolver)
Examines the bounds on an inference variable and determines an instantiation that is compatible with those bounds.String
toString()
BoundSet
withBound(Bound bound)
-
-
-
Method Detail
-
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.symbolsolver.model.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.symbolsolver.model.resolution.TypeSolver typeSolver)
-
containsFalse
public boolean containsFalse()
-
performResolution
public Optional<InstantiationSet> performResolution(List<InferenceVariable> variablesToResolve, com.github.javaparser.symbolsolver.model.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 List<Bound> getProperUpperBoundsFor(InferenceVariable inferenceVariable)
-
-