Expand description
Defines the symbolic intermediate representation. This is a type-checked, name-resolved version of the AST. Also defines methods to create symbols (and the symbol tree) for functions, types, parameters, etc.
Modules§
- binder
- classes
- exprs
- The “object IR” is an intermediate IR that we create as a first pass for type checking. The name “object” derives from the fact that it doesn’t track precise types, but rather just the type of the underlying object without any permissions (i.e., what class/struct/enum/etc is it?). This can then be used to bootstrap full type checking.
- functions
- generics
- indices
- module
- populate 🔒
- primitive
- subst
- types
- variables