class Crystal::Macros::ExternalVar
Overview
An external variable declaration inside a lib.
Every variable node
is equivalent to:
${{ node.name }} {% if real_name = node.real_name %}= {{ real_name }}{% end %} : {{ node.type }}
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#name : MacroId
Returns the name of the variable in Crystal, without the preceding
$
. -
#real_name : StringLiteral | Nop
Returns the real C name of the variable, if any.
-
#type : ASTNode
Returns the name of the variable's type.
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 name of the variable in Crystal, without the preceding $
.
Returns the real C name of the variable, if any.