Provisional API: This reference documents current compiler behavior. Compatibility is not yet promised.
src/meta-helper-client.x
The compiler’s side of the project meta helper.
Functions
| Function | Summary |
|---|---|
Compiler.begin_meta_unit | Selects the table of the unit at filename for the calls that follow, and resets the unit’s meta static values before the first one. |
Compiler.meta_helper_call | Calls the project meta function name in the helper with the values arguments, for the call at site, and returns its result. |
Compiler.stop_meta_helper | Stops the helper this process runs, which a translation worker does when its units are done and every process does as it ends. |
Compiler.use_meta_helper | Uses the helper at path, or none when it is NULL, whose tables named in failures could not be built, each with why, and whose table for each input path is in units. |
Compiler
Compiler.begin_meta_unit
void Compiler.begin_meta_unit(String filename)
Selects the table of the unit at filename for the calls that follow,
and resets the unit’s meta static values before the first one.
Source: src/meta-helper-client.x:386
Compiler.meta_helper_call
Var Compiler.meta_helper_call( Compiler c, String name, Token site, List arguments)
Calls the project meta function name in the helper with the values
arguments, for the call at site, and returns its result. A warning
the body makes is reported at site and a failure it reports is the
call’s failure. A body that crashes, exits, or passes the deadline ends
the helper, which is reported at site and started again for the next
call.
Source: src/meta-helper-client.x:75
Compiler.stop_meta_helper
void Compiler.stop_meta_helper(void)
Stops the helper this process runs, which a translation worker does when its units are done and every process does as it ends.
Source: src/meta-helper-client.x:395
Compiler.use_meta_helper
void Compiler.use_meta_helper(String path, Map failures, Map units)
Uses the helper at path, or none when it is NULL, whose tables named
in failures could not be built, each with why, and whose table for
each input path is in units.
Source: src/meta-helper-client.x:373
Design notes
The project meta build (meta-project.x) compiles each unit’s meta
group (meta-group.x) into one helper program. This file owns the
compiler’s side of that helper: starting it, one request and one reply
per call, and reporting a body that fails, crashes, or runs too long.