A regular interface definition.
An interface definition has the following components:
annotations
,interface
keyword,name
,body
.Examples (multi-line):
shared interface Printable { shared default void print() => package.print(this); } shared interface Numeric<Other> of Other satisfies Invertible<Other> given Other satisfies Numeric<Other> { shared formal Other times(other); shared formal Other divided(other); }
Anything
no subtypes hierarchy
Initializer |
InterfaceDefinition(UIdentifier name, InterfaceBody body, CaseTypes? caseTypes = null, SatisfiedTypes? satisfiedTypes = null, TypeParameters? typeParameters = null, TypeConstraint[] typeConstraints = [], Annotations annotations = ...) Parameters:
|
Attributes | |
annotations | Source Codeshared actual Annotations annotations The annotations of the interface. Refines Declaration.annotations |
body | Source Codeshared actual InterfaceBody body The body of the interface. Refines AnyInterfaceDefinition.body |
caseTypes | Source Codeshared actual CaseTypes? caseTypes The case types of the interface, if present. Refines ClassOrInterface.caseTypes |
children | Source Codeshared actual <Annotations|UIdentifier|TypeParameters|CaseTypes|SatisfiedTypes|TypeConstraint|InterfaceBody>[] 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 |
name | Source Codeshared actual UIdentifier name The name of the interface. |
satisfiedTypes | Source Codeshared actual SatisfiedTypes? satisfiedTypes The satisfied types of the interface, if present. Refines ClassOrInterface.satisfiedTypes |
typeConstraints | Source Codeshared actual TypeConstraint[] typeConstraints The type constraints of the interface, if any. Refines TypeDeclaration.typeConstraints |
typeParameters | Source Codeshared actual TypeParameters? typeParameters The type parameters of the interface, if present. Refines TypeDeclaration.typeParameters |
Inherited Attributes |
Attributes inherited from: AnyInterfaceDefinition |
Attributes inherited from: ClassOrInterface |
Attributes inherited from: Declaration |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Attributes inherited from: TypeDeclaration |
Methods | |
copy | Source Codeshared InterfaceDefinition copy(UIdentifier name = ..., InterfaceBody body = ..., CaseTypes? caseTypes = ..., SatisfiedTypes? satisfiedTypes = ..., TypeParameters? typeParameters = ..., TypeConstraint[] typeConstraints = ..., Annotations annotations = ...) 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 |