Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[loading]: Rework preferences loading
Implements the `Preferences` loading framework as outlined in [0]. The most drastic change is that the list of compile-time preferences is no longer sequestered within its own dictionary, but is instead autodetected at compile-time and communicated back to the compiler. This list of compile-time preferences is now embedded as an array of strings that the loader must load, then index into the preferences dictionary with that list to check the preferences hash. In a somewhat bizarre turn of events, because we want the `.ji` filename to incorporate the preferences hash, and because we can't know how to generate the hash until after we've precompiled, I had to move the `.ji` filename generation step to _after_ we precompile the `.ji` file. [0]: #37791 (comment)
- Loading branch information