abstract class Savi::Compiler::Pass::Analyze(TypeAliasAnalysis, TypeAnalysis, FuncAnalysis)
Direct Known Subclasses
- Savi::Compiler::Classify::Pass
- Savi::Compiler::Completeness::Pass
- Savi::Compiler::Flow::Pass
- Savi::Compiler::Infer::Pass
- Savi::Compiler::Infer::PassEdge
- Savi::Compiler::Inventory::Pass
- Savi::Compiler::Jumps::Pass
- Savi::Compiler::Local::Pass
- Savi::Compiler::PreInfer::Pass
- Savi::Compiler::PreSubtyping::Pass
- Savi::Compiler::PreTInfer::Pass
- Savi::Compiler::Privacy::Pass
- Savi::Compiler::Refer::Pass
- Savi::Compiler::ReferType::Pass
- Savi::Compiler::TInfer::Pass
- Savi::Compiler::TInfer::PassEdge
- Savi::Compiler::TypeContext::Pass
- Savi::Compiler::Types::Edge::Pass
- Savi::Compiler::Types::Graph::Pass
- Savi::Compiler::Verify::Pass
- Savi::Compiler::XTypes::Graph::Pass
Defined in:
savi/compiler/pass/analyze.crConstructors
Instance Method Summary
- #[](t_link : Program::TypeAlias::Link)
- #[](t_link : Program::Type::Link)
- #[](f_link : Program::Function::Link)
- #[]?(t_link : Program::TypeAlias::Link)
- #[]?(t_link : Program::Type::Link)
- #[]?(f_link : Program::Function::Link)
-
#analyze_func(ctx : Context, f : Program::Function, f_link : Program::Function::Link, t_analysis : TypeAnalysis) : FuncAnalysis
Required hook to make the pass create an analysis for the given function.
-
#analyze_type(ctx : Context, t : Program::Type, t_link : Program::Type::Link) : TypeAnalysis
Required hook to make the pass create an analysis for the given type.
-
#analyze_type_alias(ctx : Context, t : Program::Type, t_link : Program::Type::Link) : TypeAliasAnalysis
Required hook to make the pass create an analysis for the given type alias.
- #cache_info_for_alias
- #cache_info_for_func
- #cache_info_for_type
- #prevent_reentrance(set, link, &)
- #run(ctx : Context, package : Program::Package)
- #run_for_func(ctx : Context, f : Program::Function, f_link : Program::Function::Link, optional_t_analysis : TypeAnalysis | Nil = nil) : FuncAnalysis
- #run_for_type(ctx : Context, t : Program::Type, t_link : Program::Type::Link) : TypeAnalysis
- #run_for_type_alias(ctx : Context, t : Program::TypeAlias, t_link : Program::TypeAlias::Link) : TypeAliasAnalysis
Constructor Detail
Instance Method Detail
abstract
def analyze_func(ctx : Context, f : Program::Function, f_link : Program::Function::Link, t_analysis : TypeAnalysis) : FuncAnalysis
#
Required hook to make the pass create an analysis for the given function.
abstract
def analyze_type(ctx : Context, t : Program::Type, t_link : Program::Type::Link) : TypeAnalysis
#
Required hook to make the pass create an analysis for the given type.
abstract
def analyze_type_alias(ctx : Context, t : Program::Type, t_link : Program::Type::Link) : TypeAliasAnalysis
#
Required hook to make the pass create an analysis for the given type alias.
def run_for_func(ctx : Context, f : Program::Function, f_link : Program::Function::Link, optional_t_analysis : TypeAnalysis | Nil = nil) : FuncAnalysis
#
def run_for_type_alias(ctx : Context, t : Program::TypeAlias, t_link : Program::TypeAlias::Link) : TypeAliasAnalysis
#