class Crystal::Macros::Macro
Overview
A macro definition.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#args : ArrayLiteral(Arg)
Returns the arguments of this macro.
-
#block_arg : Arg | Nop
Returns the block argument, if any.
-
#body : ASTNode
Returns the body of this macro.
-
#double_splat : Arg | Nop
Returns the double splat argument, if any.
-
#name : MacroId
Returns the name of this macro.
-
#splat_index : NumberLiteral | NilLiteral
Returns the index of the argument with a *splat, if any.
-
#visibility : SymbolLiteral
Returns the visibility of this macro:
:public
,:protected
or:private
.
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,
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 index of the argument with a *splat, if any.
def visibility : SymbolLiteral
#
Returns the visibility of this macro: :public
, :protected
or :private
.