class Mint::TypeChecker::Artifacts
- Mint::TypeChecker::Artifacts
- Reference
- Object
Defined in:
type_checker/artifacts.crConstructors
Instance Method Summary
- #assets : Array(Mint::Ast::Directives::Asset)
- #ast : Mint::Ast
- #cache : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable)
- #checked : Set(Mint::Ast::Node)
- #component_records : Hash(Mint::Ast::Component, Mint::TypeChecker::Record)
- #lookups : Hash(Mint::Ast::Node, Mint::Ast::Node)
- #record_field_lookup : Hash(Mint::Ast::Node, String)
- #resolve_order : Array(Mint::Ast::Node)
- #types : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable)
- #variables : Hash(Mint::Ast::Node, {Mint::Ast::Node | Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable | {Mint::Ast::Node, Array(Int32) | Int32}, Mint::Ast::Node | {String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node}, Array(Mint::Ast::Node | {String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node})})
Constructor Detail
def self.new(ast : Ast, component_records : Hash(Mint::Ast::Component, Mint::TypeChecker::Record) = {} of Ast::Component => Record, record_field_lookup : Hash(Mint::Ast::Node, String) = {} of Ast::Node => String, variables : Hash(Mint::Ast::Node, Tuple(Mint::Ast::Node | Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable | Tuple(Mint::Ast::Node, Array(Int32) | Int32), Mint::Ast::Node | Tuple(String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node), Array(Mint::Ast::Node | Tuple(String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node)))) = {} of Ast::Node => Scope::Lookup, lookups : Hash(Mint::Ast::Node, Mint::Ast::Node) = {} of Ast::Node => Ast::Node, assets : Array(Mint::Ast::Directives::Asset) = [] of Ast::Directives::Asset, types : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable) = {} of Ast::Node => Checkable, cache : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable) = {} of Ast::Node => Checkable, resolve_order : Array(Mint::Ast::Node) = [] of Ast::Node, checked : Set(Mint::Ast::Node) = Set(Ast::Node).new)
#
Instance Method Detail
def cache : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable)
#
def types : Hash(Mint::Ast::Node, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable)
#
def variables : Hash(Mint::Ast::Node, {Mint::Ast::Node | Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable | {Mint::Ast::Node, Array(Int32) | Int32}, Mint::Ast::Node | {String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node}, Array(Mint::Ast::Node | {String, Mint::TypeChecker::Record | Mint::TypeChecker::Type | Mint::TypeChecker::Variable, Mint::Ast::Node})})
#