Qualified lookups return params

This commit is contained in:
Agus Zubiaga 2024-05-09 21:56:41 -03:00
parent 96e2d32fa6
commit 9d26adb228
No known key found for this signature in database
6 changed files with 112 additions and 42 deletions

View file

@ -1884,19 +1884,23 @@ fn canonicalize_var_lookup(
// Since module_name was nonempty, this is a qualified var.
// Look it up in the env!
match env.qualified_lookup(scope, module_name, ident, region) {
Ok(symbol) => {
Ok(lookedup_symbol) => {
output
.references
.insert_value_lookup(symbol, QualifiedReference::Qualified);
.insert_value_lookup(lookedup_symbol.symbol, QualifiedReference::Qualified);
if scope.abilities_store.is_ability_member_name(symbol) {
if scope
.abilities_store
.is_ability_member_name(lookedup_symbol.symbol)
{
// todo(agus): params for abilities?
AbilityMember(
symbol,
lookedup_symbol.symbol,
Some(scope.abilities_store.fresh_specialization_id()),
var_store.fresh(),
)
} else {
Var(symbol, var_store.fresh())
Var(lookedup_symbol, var_store.fresh())
}
}
Err(problem) => {