class Crystal::Macros::Def

Overview

A method definition.

Defined in:

compiler/crystal/macros.cr

Instance Method Summary

Instance Method Detail

def accepts_block? : BoolLiteralSource

Returns true if this method can be called with a block, false otherwise.

def annotation(type : TypeNode) : Annotation | NilLiteralSource

Returns the last Annotation with the given type attached to this variable or NilLiteral if there are none.

def annotations(type : TypeNode) : ArrayLiteral(Annotation)Source

Returns an array of annotations with the given type attached to this variable, or an empty ArrayLiteral if there are none.

def args : ArrayLiteral(Arg)Source

Returns the arguments of this method.

def block_arg : Arg | NopSource

Returns the block argument, if any.

def body : ASTNodeSource

Returns the body of this method.

def double_splat : Arg | NopSource

Returns the double splat argument, if any.

def name : MacroIdSource

Returns the name of this method.

def receiver : ASTNode | NopSource

Returns the receiver (for example self) of this method definition, or Nop if not specified.

def return_type : ASTNode | NopSource

Returns the return type of the method, if specified.

def splat_index : NumberLiteral | NilLiteralSource

Returns the index of the argument with a *splat, if any.

def visibility : SymbolLiteralSource

Returns the visibility of this def: :public, :protected or :private.

© 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.2.1/Crystal/Macros/Def.html