Hwaro::Assets::Sass::Expr
Constants
RAW_SPAN_FNS = ["url", "var", "env", "attr", "counter", "counters", "expression", "format", "local"] of ::String
Function names whose parenthesized span belongs to CSS and must pass through verbatim, never parsed as Sass arguments.
Class methods
coerce(text : String) : Value
Coerces stored text back into a typed value ("1px" -> Number, "(a: 1)" -> Map). Unparseable text stays Raw — lazily typed strings are the storage model.
computes?(node : Node, host : Host) : Bool
True when evaluating the tree would do real work: any operator,
not, or a call that resolves to a known (user or built-in)
function. Bare literals/variables/lists resolve identically via
the legacy path, so they don't count — that is what keeps
existing output byte-identical.
parse(template : Ast::TextTemplate) : Node | Nil
Parses a template into an expression tree; nil when the text is outside the expression grammar (lenient callers then use the legacy verbatim path).
Nested types
- Hwaro::Assets::Sass::Expr::Binary
- Hwaro::Assets::Sass::Expr::CallE
- Hwaro::Assets::Sass::Expr::ConcatE
- Hwaro::Assets::Sass::Expr::Evaluator
- Hwaro::Assets::Sass::Expr::Host
- Hwaro::Assets::Sass::Expr::InterpE
- Hwaro::Assets::Sass::Expr::KwargE
- Hwaro::Assets::Sass::Expr::ListE
- Hwaro::Assets::Sass::Expr::Lit
- Hwaro::Assets::Sass::Expr::MapE
- Hwaro::Assets::Sass::Expr::MapPair
- Hwaro::Assets::Sass::Expr::Node
- Hwaro::Assets::Sass::Expr::ParenE
- Hwaro::Assets::Sass::Expr::ParseFailure
- Hwaro::Assets::Sass::Expr::Parser
- Hwaro::Assets::Sass::Expr::StrE
- Hwaro::Assets::Sass::Expr::Unary
- Hwaro::Assets::Sass::Expr::VarE