Skip to main content

Crate yog_script_build

Crate yog_script_build 

Source
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 (its java_version), what the code is compiled against (that version’s loader jar), the package its classes go in, a folder to work in.
MacroLibrary
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.toml says it does (sending to the server).

Functions§

build_jar
sources (name, text) built into the jar jar, or what’s wrong.
check_source
What’s wrong with the source text of the file name (.ys, .yns); a .yns checked on each version it targets, its classes from the cache (built the first time).
check_source_using
check_source_with in its mod’s project.
check_source_with
check_source, each version’s classes from load.
targeted
The versions Yog runs on that cond takes, oldest first.