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
Annotation
with the given#type
attached to this variable orNilLiteral
if there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
#type
attached to this variable, or an emptyArrayLiteral
if there are none. -
#annotations : ArrayLiteral(Annotation)
Returns an array of all annotations attached to this variable, or an empty
ArrayLiteral
if 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
.