class Crystal::Macros::Def
Overview
A method definition.
Defined in:
compiler/crystal/macros.crInstance Method Summary
- 
        #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, 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, 
    
  
    
      line_number : StringLiteral | NilLiteral
    line_number, 
    
  
    
      raise(message) : NoReturn
    raise, 
    
  
    
      stringify : StringLiteral
    stringify
    
  
    
  
    
  Instance methods inherited from class Reference
  
  
    
      ==(other : self)==(other) ==, dup dup, hash 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
Class methods inherited from class Reference
  
  
    
      new
    new
    
  
  
    
  Instance methods inherited from class Object
  
  
    
      !=(other)
    !=, 
    
  
    
      !~(other)
    !~, 
    
  
    
      ==(other)
    ==, 
    
  
    
      ===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) 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
to_s(io : IO) to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try
Class methods inherited from class Object
  
  
    
      from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io) : self from_yaml
Instance Method Detail
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.
        
        def visibility : SymbolLiteral
        #
      
      
        Returns the visibility of this def: :public, :protected or :private.