class Crystal::Macros::Arg
Overview
A def argument.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#annotation(type : TypeNode) : Annotation | NilLiteral
Returns the last
Annotation
with the giventype
attached to this arg orNilLiteral
if there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
type
attached to this arg, or an emptyArrayLiteral
if there are none. -
#annotations : ArrayLiteral(Annotation)
Returns an array of all annotations attached to this arg, or an empty
ArrayLiteral
if there are none. -
#default_value : ASTNode | Nop
Returns the default value of this argument, if any.
-
#internal_name : MacroId
Returns the internal name of this argument.
-
#name : MacroId
Returns the external name of this argument.
-
#restriction : ASTNode | Nop
Returns the type restriction of this argument, if any.
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 last Annotation
with the given type
attached to this arg or NilLiteral
if there are none.
Returns an array of annotations with the given type
attached to this arg, or an empty ArrayLiteral
if there are none.
Returns an array of all annotations attached to this
arg, or an empty ArrayLiteral
if there are none.
Returns the default value of this argument, if any.
Returns the internal name of this argument.
For example, for def write(to file)
returns file
.
Returns the external name of this argument.
For example, for def write(to file)
returns to
.
Returns the type restriction of this argument, if any.