class Crystal::Macros::Def
Overview
A method definition.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#abstract? : BoolLiteral
Returns
trueis this method is declared as abstract,falseotherwise. -
#accepts_block? : BoolLiteral
Returns
trueif this method can be called with a block,falseotherwise. -
#annotation(type : TypeNode) : Annotation | NilLiteral
Returns the last
Annotationwith the giventypeattached to this method orNilLiteralif there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
typeattached to this method, or an emptyArrayLiteralif there are none. -
#annotations : ArrayLiteral(Annotation)
Returns an array of all annotations attached to this method, or an empty
ArrayLiteralif 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
ArrayLiteralif there are none. -
#name : MacroId
Returns the name of this method.
-
#receiver : ASTNode | Nop
Returns the receiver (for example
self) of this method definition, orNopif 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,:protectedor: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 index of the argument with a *splat, if any.
Returns the visibility of this def: :public, :protected or :private.