Class SubtypeOfBound
- java.lang.Object
-
- com.github.javaparser.symbolsolver.resolution.typeinference.Bound
-
- com.github.javaparser.symbolsolver.resolution.typeinference.bounds.SubtypeOfBound
-
public class SubtypeOfBound extends Bound
S <: T, where at least one of S or T is an inference variable: S is a subtype of T- Author:
- Federico Tomassetti
-
-
Constructor Summary
Constructors Constructor Description SubtypeOfBound(com.github.javaparser.resolution.types.ResolvedType s, com.github.javaparser.resolution.types.ResolvedType t)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
com.github.javaparser.resolution.types.ResolvedType
getS()
com.github.javaparser.resolution.types.ResolvedType
getT()
int
hashCode()
boolean
isADependency()
Other bounds relate two inference variables, or an inference variable to a type that contains inference variables.Optional<ProperLowerBound>
isProperLowerBound()
Given a bound of the form T <: α, we say T is a proper lower bound of α.Optional<ProperUpperBound>
isProperUpperBound()
Given a bound of the form α <: T, we say T is a proper upper bound of α.boolean
isSatisfied(InferenceVariableSubstitution inferenceVariableSubstitution)
A bound is satisfied by an inference variable substitution if, after applying the substitution, the assertion is true.String
toString()
Set<InferenceVariable>
usedInferenceVariables()
-
Methods inherited from class com.github.javaparser.symbolsolver.resolution.typeinference.Bound
isAnInstantiation
-
-
-
-
Method Detail
-
getS
public com.github.javaparser.resolution.types.ResolvedType getS()
-
usedInferenceVariables
public Set<InferenceVariable> usedInferenceVariables()
- Specified by:
usedInferenceVariables
in classBound
-
getT
public com.github.javaparser.resolution.types.ResolvedType getT()
-
isProperUpperBound
public Optional<ProperUpperBound> isProperUpperBound()
Description copied from class:Bound
Given a bound of the form α <: T, we say T is a proper upper bound of α. Return empty if it is not a proper upper bound. Otherwise it returns the variable of which this is an proper upper bound.- Overrides:
isProperUpperBound
in classBound
-
isProperLowerBound
public Optional<ProperLowerBound> isProperLowerBound()
Description copied from class:Bound
Given a bound of the form T <: α, we say T is a proper lower bound of α. Return empty if it is not a proper lower bound. Otherwise it returns the variable of which this is an proper lower bound.- Overrides:
isProperLowerBound
in classBound
-
isADependency
public boolean isADependency()
Description copied from class:Bound
Other bounds relate two inference variables, or an inference variable to a type that contains inference variables. Such bounds, of the form S = T or S <: T, are called dependencies.- Overrides:
isADependency
in classBound
-
isSatisfied
public boolean isSatisfied(InferenceVariableSubstitution inferenceVariableSubstitution)
Description copied from class:Bound
A bound is satisfied by an inference variable substitution if, after applying the substitution, the assertion is true.- Specified by:
isSatisfied
in classBound
-
-