struct Savi::Compiler::Infer::Span
- Savi::Compiler::Infer::Span
- Struct
- Value
- Object
Defined in:
savi/compiler/infer/span.crConstructors
Class Method Summary
- .error(*args)
- .for_partial_reify(mts : Array(MetaType))
- .reduce_combine_mts(spans : Array(Span), &block : MetaType, MetaType -> MetaType) : Span | Nil
- .simple(mt : MetaType)
- .simple_with_fallback(default_mt : MetaType, evaluate_mt : MetaType, options : Array(Tuple(Symbol, Span)))
Instance Method Summary
-
#all_terminal_meta_types : Array(MetaType)
TODO remove this function?
- #any_error?
- #any_mt?(&block : MetaType -> Bool) : Bool
- #combine_mt(other : Span, &block : MetaType, MetaType -> MetaType) : Span
- #combine_mt_to_span(other : Span, &block : MetaType, MetaType -> Span) : Span
- #deciding_partial_reify_index(index : Int) : Span
- #each_mt(&block : MetaType -> Nil) : Nil
- #final_mt!(ctx : Context) : MetaType | Nil
- #final_mt_simplify(ctx : Context) : Span
- #inner : Inner
- #maybe_fallback_based_on_mt_simplify(options : Array(Tuple(Symbol, Span)))
- #narrowing_partial_reify_indices(target_bits : BitArray, mark_unsatisfiable = true) : Span
-
#pretty_print(format : PrettyPrint)
Pretty prints
self
into the given printer. - #reduce_combine_mts(spans : Array(Span), &block : MetaType, MetaType -> MetaType) : Span
- #terminal!
- #total_error
- #transform_mt(&block : MetaType -> MetaType) : Span
- #transform_mt_to_span(&block : MetaType -> Span) : Span
Constructor Detail
Class Method Detail
def self.reduce_combine_mts(spans : Array(Span), &block : MetaType, MetaType -> MetaType) : Span | Nil
#
def self.simple_with_fallback(default_mt : MetaType, evaluate_mt : MetaType, options : Array(Tuple(Symbol, Span)))
#
Instance Method Detail
def pretty_print(format : PrettyPrint)
#
Description copied from class Object
Pretty prints self
into the given printer.
By default appends a text that is the result of invoking
#inspect
on self
. Subclasses should override
for custom pretty printing.