class Crystal::Macros::ProcNotation
  
  
  Overview
The type of a proc or block argument, like String -> Int32.
Defined in:
compiler/crystal/macros.crInstance Method Summary
- 
        #inputs : ArrayLiteral(ASTNode)
        
          Returns the argument types, or an empty list if no arguments. 
- 
        #output : ASTNode | NilLiteral
        
          Returns the output type, or nil if there is no return type. 
- 
        #resolve : ASTNode
        
          Resolves this proc notation to a TypeNodeif it denotes a type, or otherwise gives a compile-time error.
- 
        #resolve? : ASTNode | NilLiteral
        
          Resolves this proc notation to a TypeNodeif it denotes a type, or otherwise returns aNilLiteral.
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 the argument types, or an empty list if no arguments.
Returns the output type, or nil if there is no return type.
Resolves this proc notation to a TypeNode if it denotes a type,
or otherwise gives a compile-time error.
Resolves this proc notation to a TypeNode if it denotes a type,
or otherwise returns a NilLiteral.