tame/tamer/src/asg
Mike Gerwitz 572337505c tamer: asg::air::ir::AirBind::RefIdent: New optional canonical name
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
2023-05-09 12:35:06 -04:00
..
air tamer: asg::air::ir::AirBind::RefIdent: New optional canonical name 2023-05-09 12:35:06 -04:00
graph tamer: asg::air::ir::AirBind::RefIdent: New optional canonical name 2023-05-09 12:35:06 -04:00
.gitignore tamer: Embed ASG ontology visualization in rustdoc-generated docs 2023-03-10 14:28:00 -05:00
air.rs tamer: asg::air::ir::AirBind::RefIdent: New optional canonical name 2023-05-09 12:35:06 -04:00
error.rs tamer: asg: Integrate package CanonicalName 2023-05-05 10:26:58 -04:00
graph.rs tamer: asg::graph: Index Root->Pkg with canonical names 2023-05-02 16:15:07 -04:00
mod.rs tamer: asg::graph::visit::topo: Cycle detection 2023-04-27 16:28:57 -04:00