This allows for a canonical package name to be optionally provided to explicitly resolve a reference against, avoiding a lexical lookup. This change doesn't actually utilize this new value yet; it just retains BC. The new argument will be used for the linker, since it already knows the package that defined an identifier while reading the object file's symbol table. It will also be used by tamec for the same purposes while processing package imports. DEV-13162 -- squashed with -- tamer: asg::air::ir::RefIdent: CanonicalName=SPair The use of CanonicalName created an asymmetry between RefIdent and BindIdent. The hope was to move CanonicalName instantiation outside of AIR and into NIR, but doing so would be confusing and awkward without doing something with BindIdent. I don't have the time to deal with that for now, so let's observe how the system continues to evolve and see whether hoisting it out makes sense in the end. For now, this works just fine and I need to move on with the actual goal of finishing package imports so that I can expand templates. DEV-13162 |
||
---|---|---|
.. | ||
air | ||
graph | ||
.gitignore | ||
air.rs | ||
error.rs | ||
graph.rs | ||
mod.rs |