module Savi::Compiler::TypeContext
Overview
The purpose of the TypeContext pass is to mark parts of the AST where we may have refined type information, based on a type-related condition and its associated control flow.
This pass does not mutate the Program topology. This pass does not mutate the AST. This pass does not raise any compilation errors. This pass keeps state at the per-type and per-function level. This pass produces output state at the per-type and per-function level.
TODO Remove this pass or make it based on the Flow pass, because that pass does much of the same work as this pass, though in a different way.