Class Bound
java.lang.Object
de.monticore.types3.generics.bounds.Bound
- All Implemented Interfaces:
Comparable<Bound>
- Direct Known Subclasses:
CaptureBound,SubTypingBound,TypeCompatibilityBound,TypeEqualityBound,UnsatisfiableBound
Bounds limit the range of types allowed
for the instantiation of inference variables.
The (combination of) Bounds can lead to further
Constraints,
by means of BoundIncorporation,
which, in turn, can lead to new Bounds.
After collecting all bounds,
the instantiations will then be calculated by
BoundResolution.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintabstract booleandeepEquals(Bound other) abstract List<SymTypeExpression> Helper function;booleanbooleanbooleanbooleanbooleanabstract Stringprint()returns a human-readable String, e.g., for the log
-
Constructor Details
-
Bound
public Bound()
-
-
Method Details
-
isCaptureBound
public boolean isCaptureBound() -
asCaptureBound
-
isSubTypingBound
public boolean isSubTypingBound() -
asSubTypingBound
-
isTypeCompatibilityBound
public boolean isTypeCompatibilityBound() -
asTypeCompatibilityBound
-
isTypeEqualityBound
public boolean isTypeEqualityBound() -
asTypeEqualityBound
-
isUnsatisfiableBound
public boolean isUnsatisfiableBound() -
asUnsatisfiableBound
-
deepEquals
-
compareTo
- Specified by:
compareToin interfaceComparable<Bound>
-
print
returns a human-readable String, e.g., for the log -
getIncludedTypes
Helper function;- Returns:
- the types included in the bounds (most have two).
-