Expand description
Yog Script’s compiler: a source checked (check_source — read, its
names resolved, its types checked; with the generator, compiled). A
.ys reaches Yog only; a .yns reaches the game too, and is checked
on every version it targets against that version’s class index
(index, built from the game’s jars, read with classfile). It knows
sources, not projects: the Yog CLI hands it a mod’s, the yog-script
tool any.
Modules§
- index
- The class index of a Minecraft version
(
yog_script_analyze::index), built from the game’s own client and server jars (Mojang’s names: an obfuscated version’s renamed by its mappings) and kept in Yog’s cache. A class in both jars is shared, in one only that side’s.
Structs§
- JvmBuild
- What a build for one game version needs:
javac, the Java the version runs (itsjava_version), what the code is compiled against (that version’s loader jar), the package its classes go in, a folder to work in. - Macro
Library - A build’s macros, loaded from their sources.
- Project
- What a source’s mod brings to its check: the build’s procedural macros,
what its
yog.tomlsays it does (sending to the server).
Functions§
- build_
jar sources(name, text) built into the jarjar, or what’s wrong.- check_
source - What’s wrong with the source
textof the filename(.ys,.yns); a.ynschecked on each version it targets, its classes from the cache (built the first time). - check_
source_ using check_source_within its mod’sproject.- check_
source_ with check_source, each version’s classes fromload.- targeted
- The versions Yog runs on that
condtakes, oldest first.