class

Mint::Compiler

Inherits Mint::Helpers < Mint::Errorable < Reference < Object

Constructors

new(artifacts : Mint::TypeChecker::Artifacts, css_prefix, config : Mint::Bundler::Config)
Source

Instance methods

add(node : Ast::Node, id : Id, value : Compiled)

Adds a compiled entity.

Source
add(items : Array(Tuple(Ast::Node, Id, Compiled) | Nil))

Adds multiple compiled entities.

Source
artifacts

The type checker artifacts.

Source
ast(*args, **options)
Source
ast(*args, **options, &)
Source
cache(*args, **options)
Source
cache(*args, **options, &)
Source
checked(*args, **options)
Source
checked(*args, **options, &)
Source
compile(items : Array(Ast::CssDefinition), block : Proc(String, String) | Nil) : Compiled
Source
compile(nodes : Array(Ast::Node), separator : String) : Compiled

Compiles multiple nodes and joins them with the separator.

Source
compile(node : Ast::Access) : Compiled
Source
compile(node : Ast::Argument) : Compiled
Source
compile(node : Ast::ArrayLiteral) : Compiled
Source
compile(node : Ast::Await) : Compiled
Source
compile(node : Ast::Block, for_function = false) : Compiled
Source
compile(node : Ast::BoolLiteral) : Compiled
Source
compile(node : Ast::BracketAccess) : Compiled
Source
compile(node : Ast::Builtin) : Compiled
Source
compile(node : Ast::Call) : Compiled
Source
compile(node : Ast::Case, block : Proc(String, String) | Nil = nil) : Compiled
Source
compile(node : Ast::CaseBranch, block : Proc(String, String) | Nil = nil) : Compiled
Source
compile(node : Ast::CommentedExpression) : Compiled
Source
compile(node : Ast::Dbg) : Compiled
Source
compile(node : Ast::Decode) : Compiled
Source
compile(node : Ast::Defer) : Compiled
Source
compile(node : Ast::Emit) : Compiled
Source
compile(node : Ast::Encode) : Compiled
Source
compile(node : Ast::Env) : Compiled
Source
compile(node : Ast::Field)
Source
compile(node : Ast::FieldAccess) : Compiled
Source
compile(node : Ast::For) : Compiled
Source
compile(node : Ast::HereDocument) : Compiled
Source
compile(node : Ast::HtmlComponent) : Compiled
Source
compile(node : Ast::HtmlElement) : Compiled
Source
compile(node : Ast::HtmlFragment) : Compiled
Source
compile(node : Ast::If, block : Proc(String, String) | Nil = nil) : Compiled
Source
compile(node : Ast::InlineFunction) : Compiled
Source
compile(node : Ast::Interpolation) : Compiled
Source
compile(node : Ast::Js) : Compiled
Source
compile(node : Ast::LocaleKey) : Compiled
Source
compile(node : Ast::Map) : Compiled
Source
compile(node : Ast::MapField)
Source
compile(node : Ast::NegatedExpression) : Compiled
Source
compile(node : Ast::NextCall) : Compiled
Source
compile(node : Ast::NumberLiteral) : Compiled
Source
compile(node : Ast::Operation) : Compiled
Source
compile(node : Ast::ParenthesizedExpression) : Compiled
Source
compile(node : Ast::Pipe) : Compiled
Source
compile(node : Ast::Record) : Compiled
Source
compile(node : Ast::RecordUpdate) : Compiled
Source
compile(node : Ast::RegexpLiteral) : Compiled
Source
compile(node : Ast::ReturnCall) : Compiled
Source
compile(node : Ast::Route) : Compiled
Source
compile(node : Ast::StateSetter) : Compiled
Source
compile(node : Ast::Statement) : Compiled
Source
compile(value : String) : Compiled
Source
compile(node : Ast::StringLiteral, quote : Bool = false) : Compiled
Source
compile(node : Ast::Suite) : Compiled
Source
compile(node : Ast::Test) : Compiled
Source
compile(node : Ast::TupleLiteral) : Compiled
Source
compile(node : Ast::UnaryMinus) : Compiled
Source
compile(node : Ast::Variable) : Compiled
Source
compile(node : Ast::Directives::Asset) : Compiled
Source
compile(node : Ast::Directives::Format) : Compiled
Source
compile(node : Ast::Directives::Highlight) : Compiled
Source
compile(node : Ast::Directives::HighlightFile) : Compiled
Source
compile(node : Ast::Directives::Inline) : Compiled
Source
compile(node : Ast::Directives::Size) : Compiled
Source
compile(node : Ast::Directives::Svg) : Compiled
Source
compile(nodes : Array(Ast::Node)) : Array(Compiled)

Compiles multiple nodes.

Source
compile(node : Ast::Node) : Compiled

Fallback for compiling a node.

Source
compile(value : Array(Ast::Node | String), *, quote_string : Bool = false) : Compiled
Source
compile(node : Ast::Node, &) : Compiled

Compiles a node. If the node is already compiled or not checked it returns an empty compiled node.

Source
compile_function(node : Ast::Function)
Source
compile_function(node : Ast::Function, *, contents : Compiled | Nil = nil, args : Array(Compiled) | Nil = nil, skip_const : Bool = false) : Compiled
Source
compile_function(node : Ast::Function, *, contents : Compiled | Nil = nil, args : Array(Compiled) | Nil = nil, skip_const : Bool = false, &) : Compiled
Source
compiled

Contains the compiled JavaScript tree.

Source
components_touched(*args, **options)
Source
components_touched(*args, **options, &)
Source
config

The compiler config.

Source
decoder(type : TypeChecker::Record) : Compiled
Source
decoder(type : TypeChecker::Type) : Compiled
Source
decoder(node : TypeChecker::Variable)
Source
decoders

Contains the generated decoders.

Source
defer(node : Ast::Node, compiled : Compiled)
Source
destructuring(node : Ast::ArrayDestructuring, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::TupleDestructuring, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::Variable, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::Discard, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::Spread, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::RecordDestructuring, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::TypeDestructuring, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Ast::Node, variables : Array(Compiled)) : Compiled
Source
destructuring(node : Nil, variables : Array(Compiled)) : Compiled
Source
encoder(type : TypeChecker::Record) : Compiled
Source
encoder(type : TypeChecker::Type) : Compiled
Source
encoder(node : TypeChecker::Variable)
Source
encoders

Contains the generated encoders.

Source
exported(*args, **options)
Source
exported(*args, **options, &)
Source
exports
Source
fallbacks

A hash to store fallback variables.

Source
gather_used(items : Compiled, used : Used)
Source
gather_used(item : Item, used : Used)
Source
gather_used(items : Array(Compiled))
Source
js

The JavaScript builder instance.

Source
just
Source
lookups(*args, **options)
Source
lookups(*args, **options, &)
Source
match(condition : Ast::Node, branches : Array(Tuple(Ast::Node | Nil, Compiled))) : Compiled
Source
maybe
Source
nothing
Source
program

Compiles the program call.

Source
record(name : String) : Compiled
Source
record_field_lookup(*args, **options)
Source
record_field_lookup(*args, **options, &)
Source
records

Contains the generated record constructors.

Source
resolve(node : Ast::Component)
Source
resolve(node : Ast::Constant)
Source
resolve(node : Ast::Field) : Hash(Item, Compiled)
Source
resolve(node : Ast::Function)
Source
resolve(node : Ast::Get)
Source
resolve(node : Ast::Module)
Source
resolve(node : Ast::Provider)
Source
resolve(node : Ast::Signal)
Source
resolve(node : Ast::State)
Source
resolve(node : Ast::Store)
Source
resolve(node : Ast::TypeDefinition)
Source
resolve(nodes : Array(Ast::Node))

Resolves top-level nodes.

Source
resolve(node : Ast::Node)

Fallback resolving nodes.

Source
resolve(node : Ast::HtmlAttribute, *, is_element = true) : Hash(Item, Compiled)
Source
resolve(node : Ast::Node, &)

Resolves a top-level node.

Source
resolve_order(*args, **options)
Source
resolve_order(*args, **options, &)
Source
result
Source
sizes

A set to track size directives.

Source
style_builder

The style builder instance.

Source
substitute(type : TypeChecker::Checkable, substitutions : Hash(String, TypeChecker::Checkable)) : TypeChecker::Checkable
Source
tag(node : Ast::Node, type : TypeChecker::Checkable)
Source
tags

A container for tags.

Source
test(*, url, id, glob) : Compiled

Compile test runner.

Source
tokenize(ast : Ast) : Compiled

Semantic tokenizes the given AST.

Source
touched

A set to track already rendered nodes.

Source
translations

Translations

Source
variables(*args, **options)
Source
variables(*args, **options, &)
Source

Nested types