A list of statements and declarations, surrounded by braces.
A block contains imperative code, a series of statements that is executed sequentially each time the block is entered (declarations can’t be executed). It may also return a value.
A block may also include a list of imports
that is local to this block only.
Examples (multi-line):
{ print("``indent``BEGIN ``that``"); value origIndent = indent; indent += indentLevel; that.visit(this); indent = origIndent; print("``indent``END ``that``"); } { throw AssertionError("Not yet implemented!"); } { if (exists first = s.first) { return String { first.lowercased, *s.rest }; } else { return ""; } } { import java.lang { System } System.arraycopy(src, srcPos, dest, destPos, length); }
no subtypes hierarchy
Initializer |
Block(<Declaration|Statement>[] content, Import[] imports = ...) Parameters:
|
Attributes | |
children | Source Codeshared actual <Import|Declaration|Statement>[] children The child nodes of this node. |
content | Source Codeshared actual <Declaration|Statement>[] content The content of the body. Refines Body.content |
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 |
imports | Source Codeshared actual Import[] imports The imports of this body. Refines Body.imports |
Inherited Attributes |
Attributes inherited from: Body |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Methods | |
copy | Source Codeshared Block copy(<Declaration|Statement>[] content = ..., Import[] imports = ...) 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 |