Passes

Pages

Language Passes Language Passes verify and mutate parsed modules.

Interfaces

Pass Interface implemented by transformation, debug and/or validation passes.

Classes

LanguagePass Centre point for all language passes.
VoltLanguagePass Default implementation of LanguagePass, replace this if you wish to any of the semantics of the language.
ImageGatherer Collects various things that needs to emitted per image.
MissingDeps Looks for missing dependancies via imports.
MangleWriter Apply mangle symbols to Types and Functions.
CFGBuilder Builds and checks CFGs on Functions.
ExpFolder Folds any expressions into Constants.
ExTyper If type casting were to be strict, type T could only go to type T without an explicit cast. Implicit casts are places where the language deems automatic conversion safe enough to insert casts for the user.
IrVerifier This verifier is design to catch faulty IR (from the view of the backends) that the LanguagePass generate.
Gatherer Populate the scopes with Variables, Aliases, Functions, and Types. Adds Scopes where needed as well.
ConditionalRemoval A pass that removes version and debug blocks, not static ifs.
AttribRemoval A pass that turns Attributes nodes into fields on to Functions, Classes and the like.
ScopeReplacer Module containing the ScopeReplacer class.
ImportResolver Resolves imports on a single module.