Class Resolution
java.lang.Object
org.checkerframework.framework.util.typeinference8.util.Resolution
Resolution finds an instantiation for each variable in a given set of variables. It does this
using all the bounds on a variable. Because a bound on a variable by be another unresolved
variable, the order in which the variables must be computed before resolution. If the set of
variables contains any captured variables, then a different resolution algorthim is used. If a
set of variables does not contain a captured variable, but the resolution fails, then the
resolution algorithm for captured variables is used.
Resolution is discussed in JLS Section 18.4.
Entry point is two static methods, resolveSmallestSet(Set, BoundSet)
and resolve(Variable, BoundSet, Java8InferenceContext)
, which create Resolution
objects
that actually preform the resolution.
-
Method Summary
Modifier and TypeMethodDescriptionstatic BoundSet
resolve
(Collection<Variable> as, BoundSet boundSet, Java8InferenceContext context) Instantiates a set of variables,as
.static BoundSet
resolve
(Variable a, BoundSet boundSet, Java8InferenceContext context) Instantiates the variablea
.
-
Method Details
-
resolve
public static BoundSet resolve(Collection<Variable> as, BoundSet boundSet, Java8InferenceContext context) Instantiates a set of variables,as
.- Parameters:
as
- the set of variables to resolveboundSet
- the bound set that includesas
context
- Java8InferenceContext- Returns:
- bound set where
as
have instantiations
-
resolve
Instantiates the variablea
.- Parameters:
a
- the variable to resolveboundSet
- the bound set that includesa
context
- Java8InferenceContext- Returns:
- bound set where
a
is instantiated
-