class
   Crystal::Macros::Generic
  
  
  Overview
A generic instantiation, like Foo(T) or Foo::Bar::Baz(T)
Defined in:
compiler/crystal/macros.crInstance Method Summary
- 
        #name : Path
        
          Returns the path to the generic. 
- 
        #named_args : NamedTupleLiteral | NilLiteral
        
          Returns the named arguments of this instantiation, if any. 
- 
        #resolve : ASTNode
        
          Resolves this generic to a TypeNodeif it denotes a type, or otherwise gives a compile-time error.
- 
        #resolve? : ASTNode | NilLiteral
        
          Resolves this path to a TypeNodeif it denotes a type, or otherwise returns aNilLiteral.
- 
        #type_vars : ArrayLiteral(ASTNode)
        
          Returns the arguments (the type variables) of this instantiation. 
- 
        #types : ArrayLiteral(ASTNode)
        
          Returns this generic inside an array literal. 
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 named arguments of this instantiation, if any.
Returns the arguments (the type variables) of this instantiation.
Returns this generic inside an array literal.
This method exists so you can call #types on the type of a type
declaration and get all types, whether it's a Generic, Path or Union.