Skip to content

Commit 5f94f13

Browse files
committed
Merge branch 'topic/regr/07082026' into 'master'
Correct regression caused by new LAL generic renaming nodes Closes #317 See merge request eng/libadalang/langkit-query-language!279
2 parents 3ba0f76 + dfa41b3 commit 5f94f13

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

lkql_checker/share/lkql/positional_actuals_for_defaulted_generic_parameters.lkql

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,14 @@ fun check_generic(n, node) =
2424
fun positional_actuals_for_defaulted_generic_parameters(node) =
2525
node is ParamAssoc(f_designator: null, parent: l@AssocList)
2626
when match l.parent
27-
| p@GenericSubpInstantiation =>
28-
check_generic(p.f_generic_subp_name, node)
29-
| p@GenericPackageInstantiation =>
30-
check_generic(p.f_generic_pkg_name, node)
31-
| * => false
27+
| p@GenericSubpInstantiation =>
28+
check_generic(
29+
stdlib.ultimate_generic_alias(p.f_generic_subp_name),
30+
node
31+
)
32+
| p@GenericPackageInstantiation =>
33+
check_generic(
34+
stdlib.ultimate_generic_alias(p.f_generic_pkg_name),
35+
node
36+
)
37+
| * => false

lkql_checker/share/lkql/stdlib.lkql

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,13 @@ fun ultimate_subprogram_alias(name) =
133133
.p_referenced_decl())
134134
else name
135135

136+
@memoized
137+
fun ultimate_generic_alias(name) =
138+
|" Return the ultimately designated ``GenericDecl``, going through renamings
139+
match name.p_referenced_decl()
140+
| r@GenericRenamingDecl => ultimate_generic_alias(r.f_renames.f_renamed_object)
141+
| * => name
142+
136143
@memoized
137144
fun has_local_scope(n) =
138145
|" Return ``true`` if ``n`` is enclosed in a local scope

0 commit comments

Comments
 (0)