Skip to content

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

Returns the last Annotation with the given type attached to this variable or NilLiteral if there are none.

View source

#annotations(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.

View source

#default_value : 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?.

View source

#has_default_value? : BoolLiteral

Returns whether this variable has a default value (which can in turn be nil).

View source

#name : MacroId

Returns the name of this variable.

View source

#type : TypeNode | NilLiteral

Returns the type of this variable, if known, or nil.

View source