class Crystal::Macros::MetaVar
inherits Crystal::Macros::ASTNode
¶
A fictitious node representing a variable or instance variable, together with type information.
Methods¶
#annotation(type : TypeNode) : Annotation | NilLiteral
¶
(type : TypeNode) : Annotation | NilLiteral
Returns the last Annotation
with the given type
attached to this variable or NilLiteral
if there are none.
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
¶
(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given type
attached to this variable, or an empty ArrayLiteral
if there are none.
#default_value : ASTNode
¶
: ASTNode
Returns the default value of this variable.
Note that if the variable doesn't have a default value,
or the default value is nil
, a NilLiteral
will be
returned. To distinguish between these cases, use
has_default_value?
.
#has_default_value? : BoolLiteral
¶
: BoolLiteral
Returns whether this variable has a default value
(which can in turn be nil
).