A value constructor definition.
A value constructor definition has the following components:
annotations
,new
keyword,name
,block
.Examples (multi-line):
shared new origin { x = 0.0; y = 0.0; r = 0.0; φ = 0.0; } shared new red { rgb = #FF0000; }
no subtypes hierarchy
Initializer |
ValueConstructorDefinition(LIdentifier name, Block block, ExtendedType? extendedType, Annotations annotations) Parameters:
|
Attributes | |
annotations | shared actual Annotations annotations The annotations of the constructor. Refines Declaration.annotations |
block | shared actual Block block The block of the constructor. Refines ConstructorDefinition.block |
children | shared actual <Annotations|LIdentifier|ExtendedType|Block>[] children The child nodes of this node. |
extendedType | shared actual ExtendedType? extendedType The extended type of the constructor, if present. |
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 |
name | shared actual LIdentifier name The name of the constructor. |
parameters | shared actual Parameters? parameters The parameters of the constructor, if applicable. Callable constructors have parameters, value constructors do not. Refines ConstructorDefinition.parameters |
Inherited Attributes |
Attributes inherited from: ConstructorDefinition |
Attributes inherited from: Declaration |
Attributes inherited from: Node |
Attributes inherited from: Object hash , string |
Methods | |
copy | shared ValueConstructorDefinition copy(LIdentifier name = ..., Block block = ..., ExtendedType? extendedType = ..., Annotations annotations = ...) 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 |