module Savi::Compiler::ReferType

Overview

The purpose of the ReferType pass is to resolve identifiers that can be found to be type declarations/aliases. The resolutions of the identifiers are kept as output state available to future passes wishing to retrieve information as to what a given identifier refers. This pass is separate from the later Refer pass, so that type identifiers can be lexically resolved in this pass before other kinds of info is resolved functionally in that pass.

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.

Defined in:

savi/compiler/refer_type.cr