class Crystal::Macros::Def
Overview
A method definition.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#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 variable orNilLiteral
if there are none. -
#annotations(type : TypeNode) : Crystal::Macros::ArrayLiteral(Annotation)
Returns an array of annotations with the given
type
attached to this variable, or an emptyArrayLiteral
if there are none. -
#args : Crystal::Macros::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.
-
#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,
end_column_number : StringLiteral | NilLiteral
end_column_number,
end_line_number : StringLiteral | NilLiteral
end_line_number,
filename : StringLiteral | NilLiteral
filename,
id : MacroId
id,
line_number : StringLiteral | NilLiteral
line_number,
raise(message) : NoReturn
raise,
stringify : StringLiteral
stringify,
symbolize : SymbolLiteral
symbolize
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash
hash(hasher) hash, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s : String
to_s(io : IO) : Nil to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
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 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
.