A constraint upon a type parameter.
Examples:
given Key satisfies Object given Printable of String | Integer | Float given T of T1|T2|T3 satisfies U
Anything
Object
TypeConstraint
Node
Object
Anything
no subtypes hierarchy
Initializer |
TypeConstraint(UIdentifier parameterName, CaseTypes? caseTypes = null, SatisfiedTypes? satisfiedTypes = null) Parameters:
|
Attributes | |
caseTypes | Source Codeshared CaseTypes? caseTypes The type(s) that the type argument must be a case of. |
children | Source Codeshared actual [UIdentifier]|[UIdentifier, CaseTypes]|[UIdentifier, SatisfiedTypes]|[UIdentifier, CaseTypes, SatisfiedTypes] children The child nodes of this node. Refines Node.children |
hash | Source Codeshared actual Integer hash The hash value of the value, which allows the value to be an element of a hash-based set or key of a hash-based map. Implementations must respect the constraint that:
Therefore, a class which refines In general, Note that when executing on a Java Virtual Machine, the
64-bit Refines Object.hash |
parameterName | Source Codeshared UIdentifier parameterName The name of the type parameter to which the constraint applies. |
satisfiedTypes | Source Codeshared SatisfiedTypes? satisfiedTypes The type(s) that the type argument must satisfy. |
Inherited Attributes |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Methods | |
copy | Source Codeshared TypeConstraint copy(UIdentifier parameterName = ..., CaseTypes? caseTypes = ..., SatisfiedTypes? satisfiedTypes = ...) Parameters:
|
equals | Source Codeshared actual Boolean equals(Object that) Determine if two values are equal. For any two non-null objects x == y Implementations should respect the constraints that:
Furthermore it is recommended that implementations
ensure that if A class which explicitly refines Note that an implementation of Refines Object.equals |
transform | Source Codeshared actual Result transform<out Result>(Transformer<Result> transformer) Transform this node with the given If you have a Refines Node.transform |
visit | Source Codeshared actual void visit(Visitor visitor) Visit this node with the given Refines Node.visit |
Inherited Methods |
Methods inherited from: Node |
Methods inherited from: Object equals |