class Crystal::Macros::MetaVar
Overview
A fictitious node representing a variable or instance variable, together with type information.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#annotation(type : TypeNode) : Annotation | NilLiteral
Returns the last
Annotationwith the given#typeattached to this variable orNilLiteralif there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
#typeattached to this variable, or an emptyArrayLiteralif there are none. -
#annotations : ArrayLiteral(Annotation)
Returns an array of all annotations attached to this variable, or an empty
ArrayLiteralif there are none. -
#default_value : ASTNode
Returns the default value of this variable.
-
#has_default_value? : BoolLiteral
Returns whether this variable has a default value (which can in turn be
nil). -
#name : MacroId
Returns the name of this variable.
-
#type : TypeNode | NilLiteral
Returns the type of this variable, if known, or
nil.
Instance methods inherited from class Crystal::Macros::ASTNode
!=(other : ASTNode) : BoolLiteral
!=,
==(other : ASTNode) : BoolLiteral
==,
class_name : StringLiteral
class_name,
column_number : StringLiteral | NilLiteral
column_number,
doc : StringLiteral
doc,
doc_comment : MacroId
doc_comment,
end_column_number : StringLiteral | NilLiteral
end_column_number,
end_line_number : StringLiteral | NilLiteral
end_line_number,
filename : StringLiteral | NilLiteral
filename,
id : MacroId
id,
is_a?(type : TypeNode) : BoolLiteral
is_a?,
line_number : StringLiteral | NilLiteral
line_number,
nil? : BoolLiteral
nil?,
raise(message) : NoReturn
raise,
stringify : StringLiteral
stringify,
symbolize : SymbolLiteral
symbolize,
warning(message : StringLiteral) : NilLiteral
warning
Instance Method Detail
Returns the last Annotation with the given #type
attached to this variable or NilLiteral if there are none.
Returns an array of annotations with the given #type
attached to this variable, or an empty ArrayLiteral if there are none.
Returns an array of all annotations attached to this
variable, or an empty ArrayLiteral if there are none.
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?.
Returns whether this variable has a default value
(which can in turn be nil).
Returns the type of this variable, if known, or nil.