Expand description
State shared by the emitters.
The state holds target names for every declaration, the source-to-target mapping, and the encodings and assumptions a translation relies on. Every emitter records what it did here, so the translation contract lists exactly the choices that were made for this program.
Mirrors js/src/translation/emit-common.js.
Structs§
- Assumption
- An assumption the translation relies on, with the program-specific details.
- Assumption
Text - A fixed assumption text, so that contracts compare across runtimes.
- Dependence
- Whether a node depends on declarations of a kind, directly or not.
- Emit
Options - Target naming rules for
EmitState. - Emit
State - Emitted
- An emitted target program together with its translation contract.
- Encoding
- A representation choice the translation made.
- Mapping
- Where a source declaration went in the target.
- Theorem
Record - A theorem or assertion the target states, and how it is discharged.
Enums§
- Ctor
Style - How constructors are named: inside a module next to their type (Rocq), or under the type.
Constants§
Functions§
- dependencies
- Declarations every declaration refers to (types, functions, constructors, lemmas).
- mutual_
groups - Each function the checker marked mutual, mapped to its group.
- order_
declarations - Declarations in an order where each follows everything it uses.
- unthreaded
- An operation that may abort, which
outputthreads as a value before a pure target sees it.