A list of declarations, surrounded by braces.
Unlike class bodies, interface bodies can’t immediately contain runnable code,
so the content
is just declarations, no statements.
An exception from this are specifications, which, while technically statements,
are allowed (shortcut refinement).
Examples (multi-line):
{ shared formal Other plus(Other other); } { shared default void writeString(String string) => print(string); shared default void write(Anything that) => writeString(that?.string else "<null>"); } { shared formal String name; string => name; }
Anything
Object
no subtypes hierarchy
Initializer |
InterfaceBody(<Declaration|Specification>[] content) Parameters:
|
Attributes | |
children | shared actual <Declaration|Specification>[] children The child nodes of this node. |
content | shared actual <Declaration|Specification>[] content The content of the body. Refines Body.content |
hash | shared 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 |
Inherited Attributes |
Attributes inherited from: Body |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Methods | |
copy | shared InterfaceBody copy(<Declaration|Specification>[] content = ...) Parameters:
|
equals | shared actual Boolean equals(Object that) Determine if two values are equal. 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 | shared actual Result transform<out Result>(Transformer<Result> transformer) Transform this node with the given If you have a Refines Node.transform |
visit | shared 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 |