abstract class Savi::Compiler::TInfer::DynamicInfo
   
  
  Direct Known Subclasses
- Savi::Compiler::TInfer::AddressOf
 - Savi::Compiler::TInfer::ArrayLiteral
 - Savi::Compiler::TInfer::ArrayLiteralElementAntecedent
 - Savi::Compiler::TInfer::Field
 - Savi::Compiler::TInfer::FieldExtract
 - Savi::Compiler::TInfer::FieldRead
 - Savi::Compiler::TInfer::FixedInfo
 - Savi::Compiler::TInfer::FromCall
 - Savi::Compiler::TInfer::FromCallErrorOut
 - Savi::Compiler::TInfer::FromCallYieldOut
 - Savi::Compiler::TInfer::Literal
 - Savi::Compiler::TInfer::LocalRef
 - Savi::Compiler::TInfer::NamedInfo
 - Savi::Compiler::TInfer::Phi
 - Savi::Compiler::TInfer::Refinement
 - Savi::Compiler::TInfer::ReflectionOfType
 - Savi::Compiler::TInfer::StackAddressOfVariable
 - Savi::Compiler::TInfer::StaticAddressOfFunction
 - Savi::Compiler::TInfer::TowardCallParam
 - Savi::Compiler::TInfer::TowardCallYieldIn
 
Defined in:
savi/compiler/t_infer/info.crInstance Method Summary
- #add_downstream(use_pos : Source::Pos, info : Info)
 - 
        #adds_alias
        
          
May be implemented by the child class as an optional hook.
 - 
        #after_add_downstream(use_pos : Source::Pos, info : Info)
        
          
May be implemented by the child class as an optional hook.
 - #describe_downstream_constraints(ctx : Context, type_check : TTypeCheck::ForReifiedFunc)
 - 
        #describe_kind : String
        
          
Must be implemented by the child class as an required hook.
 - #described_kind
 - #downstream_tethers(querent : Info) : Array(Tether)
 - #downstream_use_pos
 - #downstreams_each
 - #downstreams_empty?
 - #list_downstream_constraints(ctx : Context, type_check : TTypeCheck::ForReifiedFunc)
 - #tether_constraint_spans(ctx : Context, infer : Visitor)
 - #tethers(querent : Info) : Array(Tether)
 - 
        #this_would_be_possible_if : Tuple(Source::Pos, String) | Nil
        
          
This property can be set to give a hint in the event of a typecheck error.
 - 
        #this_would_be_possible_if=(this_would_be_possible_if : Tuple(Source::Pos, String) | Nil)
        
          
This property can be set to give a hint in the event of a typecheck error.
 - 
        #total_downstream_constraint(ctx : Context, type_check : TTypeCheck::ForReifiedFunc)
        
          
When we need to take into consideration the downstreams' constraints in order to infer our type from them, we can use this to collect all those constraints into one intersection of them all.
 
Instance methods inherited from class Savi::Compiler::TInfer::Info
  
  
    
      add_downstream(use_pos : Source::Pos, info : Info)
    add_downstream, 
    
  
    
      add_peer_hint(peer : Info)
    add_peer_hint, 
    
  
    
      as_conduit? : Conduit | Nil
    as_conduit?, 
    
  
    
      as_downstream_constraint_meta_type(ctx : Context, type_check : TTypeCheck::ForReifiedFunc) : MetaType | Nil
    as_downstream_constraint_meta_type, 
    
  
    
      as_multiple_downstream_constraints(ctx : Context, type_check : TTypeCheck::ForReifiedFunc) : Array(Tuple(Source::Pos, MetaType)) | Nil
    as_multiple_downstream_constraints, 
    
  
    
      as_upstream_conduits : Array(Conduit)
    as_upstream_conduits, 
    
  
    
      layer_index : Int32
    layer_index, 
    
  
    
      layer_index=(layer_index : Int32)
    layer_index=, 
    
  
    
      layer_index? : Int32 | Nil
    layer_index?, 
    
  
    
      override_describe_kind : String | Nil
    override_describe_kind, 
    
  
    
      override_describe_kind=(override_describe_kind : String | Nil)
    override_describe_kind=, 
    
  
    
      pos : Source::Pos
    pos, 
    
  
    
      pos=(pos : Source::Pos)
    pos=, 
    
  
    
      resolve_span!(ctx : Context, infer : Visitor)
    resolve_span!, 
    
  
    
      tether_resolve_span(ctx : Context, infer : Visitor)
    tether_resolve_span, 
    
  
    
      tether_terminal?
    tether_terminal?, 
    
  
    
      tether_upward_transform_span(ctx : Context, infer : Visitor, span : Span) : Span
    tether_upward_transform_span, 
    
  
    
      tethers(querent : Info) : Array(Tether)
    tethers, 
    
  
    
      to_s
    to_s
    
  
    
    
    
  
    
    
    
    
  
    
    
    
    
  
Instance Method Detail
May be implemented by the child class as an optional hook.
Must be implemented by the child class as an required hook.
This property can be set to give a hint in the event of a typecheck error.
This property can be set to give a hint in the event of a typecheck error.
When we need to take into consideration the downstreams' constraints in order to infer our type from them, we can use this to collect all those constraints into one intersection of them all.