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
-
-
Field Summary
Fields Modifier and Type Field Description private ResolvedTypesprivate ResolvedTypet
-
Constructor Summary
Constructors Constructor Description SubtypeOfBound(ResolvedType s, ResolvedType t)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)ResolvedTypegetS()ResolvedTypegetT()inthashCode()booleanisADependency()Other bounds relate two inference variables, or an inference variable to a type that contains inference variables.java.util.Optional<ProperLowerBound>isProperLowerBound()Given a bound of the form T <: α, we say T is a proper lower bound of α.java.util.Optional<ProperUpperBound>isProperUpperBound()Given a bound of the form α <: T, we say T is a proper upper bound of α.booleanisSatisfied(InferenceVariableSubstitution inferenceVariableSubstitution)A bound is satisfied by an inference variable substitution if, after applying the substitution, the assertion is true.java.lang.StringtoString()java.util.Set<InferenceVariable>usedInferenceVariables()-
Methods inherited from class com.github.javaparser.symbolsolver.resolution.typeinference.Bound
isAnInstantiation
-
-
-
-
Field Detail
-
s
private ResolvedType s
-
t
private ResolvedType t
-
-
Constructor Detail
-
SubtypeOfBound
public SubtypeOfBound(ResolvedType s, ResolvedType t)
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getS
public ResolvedType getS()
-
usedInferenceVariables
public java.util.Set<InferenceVariable> usedInferenceVariables()
- Specified by:
usedInferenceVariablesin classBound
-
getT
public ResolvedType getT()
-
isProperUpperBound
public java.util.Optional<ProperUpperBound> isProperUpperBound()
Description copied from class:BoundGiven 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:
isProperUpperBoundin classBound
-
isProperLowerBound
public java.util.Optional<ProperLowerBound> isProperLowerBound()
Description copied from class:BoundGiven 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:
isProperLowerBoundin classBound
-
isADependency
public boolean isADependency()
Description copied from class:BoundOther 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:
isADependencyin classBound
-
isSatisfied
public boolean isSatisfied(InferenceVariableSubstitution inferenceVariableSubstitution)
Description copied from class:BoundA bound is satisfied by an inference variable substitution if, after applying the substitution, the assertion is true.- Specified by:
isSatisfiedin classBound
-
-