class Crystal::Macros::Def
Overview
A method definition.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#abstract? : BoolLiteral
Returns
true
is this method is declared as abstract,false
otherwise. -
#accepts_block? : BoolLiteral
Returns
true
if this method can be called with a block,false
otherwise. -
#annotation(type : TypeNode) : Annotation | NilLiteral
Returns the last
Annotation
with the giventype
attached to this method orNilLiteral
if there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
type
attached to this method, or an emptyArrayLiteral
if there are none. -
#annotations : ArrayLiteral(Annotation)
Returns an array of all annotations attached to this method, or an empty
ArrayLiteral
if there are none. -
#args : ArrayLiteral(Arg)
Returns the arguments of this method.
-
#block_arg : Arg | Nop
Returns the block argument, if any.
-
#body : ASTNode
Returns the body of this method.
-
#double_splat : Arg | Nop
Returns the double splat argument, if any.
-
#free_vars : ArrayLiteral(MacroId)
Returns the free variables of this method, or an empty
ArrayLiteral
if there are none. -
#name : MacroId
Returns the name of this method.
-
#receiver : ASTNode | Nop
Returns the receiver (for example
self
) of this method definition, orNop
if not specified. -
#return_type : ASTNode | Nop
Returns the return type of the method, if specified.
-
#splat_index : NumberLiteral | NilLiteral
Returns the index of the argument with a *splat, if any.
-
#visibility : SymbolLiteral
Returns the visibility of this def:
: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,
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 true
if this method can be called with a block, false
otherwise.
Returns the last Annotation
with the given type
attached to this method or NilLiteral
if there are none.
Returns an array of annotations with the given type
attached to this method, or an empty ArrayLiteral
if there are none.
Returns an array of all annotations attached to this
method, or an empty ArrayLiteral
if there are none.
Returns the free variables of this method, or an empty ArrayLiteral
if
there are none.
Returns the receiver (for example self
) of this method definition,
or Nop
if not specified.
Returns the return type of the method, if specified.
Returns the index of the argument with a *splat, if any.
Returns the visibility of this def: :public
, :protected
or :private
.