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 variable orNilLiteralif there are none. -
#annotations(type : TypeNode) : ArrayLiteral(Annotation)
Returns an array of annotations with the given
typeattached to this variable, or an emptyArrayLiteralif 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,
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
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 variable or NilLiteral if there are none.
Returns an array of annotations with the given type
attached to this variable, 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.