class
   Crystal::Macros::MetaVar
  
  
  Overview
A fictitious node representing a variable or instance variable, together with type information.
Defined in:
compiler/crystal/macros.crInstance Method Summary
- 
        #annotation(type : TypeNode) : Annotation | NilLiteral
        
          Returns the last Annotationwith the given#typeattached to this variable orNilLiteralif there are none.
- 
        #annotations(type : TypeNode) : ArrayLiteral(Annotation)
        
          Returns an array of annotations with the given #typeattached to this variable, or an emptyArrayLiteralif there are none.
- 
        #annotations : ArrayLiteral(Annotation)
        
          Returns an array of all annotations attached to this variable, or an empty ArrayLiteralif there are none.
- 
        #default_value : ASTNode
        
          Returns the default value of this variable. 
- 
        #has_default_value? : BoolLiteral
        
          Returns whether this variable has a default value (which can in turn be nil).
- 
        #name : MacroId
        
          Returns the name of this variable. 
- 
        #type : TypeNode | NilLiteral
        
          Returns the type of this variable, if known, or nil.
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 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 an array of all annotations attached to this
variable, or an empty ArrayLiteral if there are none.
Returns the default value of this variable.
Note that if the variable doesn't have a default value,
or the default value is nil, a NilLiteral will be
returned. To distinguish between these cases, use
#has_default_value?.
Returns whether this variable has a default value
(which can in turn be nil).