- uri : Uri
The file the program being translated came from. Compiler-embedded preludes name their defining
.leanfile and setsynthesized. - synthesized : Bool
True when the source is a compiler-embedded prelude rather than a user file. Only affects the Core
MetaDataprovenance;FileRanges still nameuriso every AST node carries a real file.
Instances For
Equations
Instances For
Equations
- Strata.Laurel.TransM.error msg = throw msg
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Strata.Laurel.translateIdent (StrataDDM.ArgF.ident ann id) = do let source ← Strata.Laurel.getArgFileRange✝ (StrataDDM.ArgF.ident ann id) pure { text := id, source := source }
- Strata.Laurel.translateIdent arg = Strata.Laurel.TransM.error (toString "translateIdent expects ident")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateBool (StrataDDM.ArgF.expr (StrataDDM.ExprF.fn ann { dialect := "Init", name := "boolTrue" })) = pure true
- Strata.Laurel.translateBool (StrataDDM.ArgF.expr (StrataDDM.ExprF.fn ann { dialect := "Init", name := "boolFalse" })) = pure false
- Strata.Laurel.translateBool (StrataDDM.ArgF.expr (StrataDDM.ExprF.fn ann name)) = Strata.Laurel.TransM.error (toString "translateBool expects boolTrue or boolFalse, got " ++ toString (repr name))
- Strata.Laurel.translateBool arg = Strata.Laurel.TransM.error (toString "translateBool expects expression or operation, got " ++ toString (repr arg))
Instances For
Equations
- Strata.Laurel.mkHighTypeMd t source = { val := t, source := source }
Instances For
Equations
- Strata.Laurel.mkStmtExprMd e source = { val := e, source := source }
Instances For
Equations
- Strata.Laurel.translateNat (StrataDDM.ArgF.num ann n) = pure n
- Strata.Laurel.translateNat arg = Strata.Laurel.TransM.error (toString "translateNat expects num literal")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Strata.Laurel.translateString (StrataDDM.ArgF.strlit ann s) = pure s
- Strata.Laurel.translateString arg = Strata.Laurel.TransM.error (toString "translateString expects string literal")
Instances For
Equations
- Strata.Laurel.translateDecimal (StrataDDM.ArgF.decimal ann d) = pure d
- Strata.Laurel.translateDecimal arg = Strata.Laurel.TransM.error (toString "translateDecimal expects decimal literal")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateParameter arg = Strata.Laurel.TransM.error (toString "translateParameter expects operation")
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "add" } = some Strata.Laurel.Operation.Add
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "sub" } = some Strata.Laurel.Operation.Sub
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "mul" } = some Strata.Laurel.Operation.Mul
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "div" } = some Strata.Laurel.Operation.Div
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "mod" } = some Strata.Laurel.Operation.Mod
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "divT" } = some Strata.Laurel.Operation.DivT
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "modT" } = some Strata.Laurel.Operation.ModT
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "eq" } = some Strata.Laurel.Operation.Eq
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "neq" } = some Strata.Laurel.Operation.Neq
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "gt" } = some Strata.Laurel.Operation.Gt
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "lt" } = some Strata.Laurel.Operation.Lt
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "le" } = some Strata.Laurel.Operation.Leq
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "ge" } = some Strata.Laurel.Operation.Geq
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "and" } = some Strata.Laurel.Operation.And
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "or" } = some Strata.Laurel.Operation.Or
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "andThen" } = some Strata.Laurel.Operation.AndThen
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "orElse" } = some Strata.Laurel.Operation.OrElse
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "implies" } = some Strata.Laurel.Operation.Implies
- Strata.Laurel.getBinaryOp? { dialect := "Laurel", name := "strConcat" } = some Strata.Laurel.Operation.StrConcat
- Strata.Laurel.getBinaryOp? name = none
Instances For
Equations
- Strata.Laurel.getUnaryOp? { dialect := "Laurel", name := "not" } = some Strata.Laurel.Operation.Not
- Strata.Laurel.getUnaryOp? { dialect := "Laurel", name := "neg" } = some Strata.Laurel.Operation.Neg
- Strata.Laurel.getUnaryOp? name = none
Instances For
Translate a Seq InvariantClause into the list of invariant conditions,
using translate for each clause body. Shared by the while, forLoop,
and doWhile arms. Takes translate as a parameter so it can stay outside
the translateStmtExpr mutual block and thus be a total def.
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateInvariantClauses translate arg = pure []
Instances For
Equations
Instances For
Translate the target of an increment/decrement operator. The target must be an
lvalue: either a local variable reference (Var (.Local _)) or a field access
(Var (.Field _ _)). Anything else is reported as a translation error.
Equations
Instances For
User modifies clauses fold into a single unguarded ModifiesGroup — one
frame, exactly the pre-guard semantics. A modifiesWhenClause (pass-generated,
but parsed here so printed output round-trips) contributes its own guarded
group.
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateModifiesClauses arg = pure Strata.Laurel.ModifiesGroup.nothingChanges
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateRequiresClauses arg = pure []
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.translateEnsuresClauses arg = pure []
Instances For
Translate the single-output Laurel.returnType op into the implicit
$result output parameter.
A producer may attach a source range only to the outer returnType op:
the Java front-end builds the inner type op from a javac Type, which
carries no tree position, so the inner op's range is the SourceRange.none
sentinel. Fall back to the outer op's range in that case, so the ensures
that ConstrainedTypeElim synthesizes for a constrained output type (e.g.
int32 for a Java int) inherits a real location — otherwise an implicit
no-overflow failure is reported at the whole-file fallback position instead
of at the return type.
The jverify producer now stamps the declared type tree's range on the inner op itself (this CR's StrataJavaFrontEnd commit), so for current jverify the inner range wins and this fallback is a safety net — it remains load-bearing for other producers and previously-emitted Ion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseProcedure arg = Strata.Laurel.TransM.error (toString "parseProcedure expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseField arg = Strata.Laurel.TransM.error (toString "parseField expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseComposite arg = Strata.Laurel.TransM.error (toString "parseComposite expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseDatatypeConstructorArg arg = Strata.Laurel.TransM.error (toString "parseDatatypeConstructorArg expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseDatatypeConstructor arg = Strata.Laurel.TransM.error (toString "parseDatatypeConstructor expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseDatatype arg = Strata.Laurel.TransM.error (toString "parseDatatype expects operation")
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Strata.Laurel.parseConstrainedType arg = Strata.Laurel.TransM.error (toString "parseConstrainedType expects operation")
Instances For
Translate one non-global top-level command, preserving the existing public API.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Translate concrete Laurel syntax into abstract Laurel syntax
Equations
- One or more equations did not get rendered due to their size.