Skip to content

Commit 5731d46

Browse files
Tell apart alias invocations that display the same
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 782d206 commit 5731d46

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

‎liquidjava-verifier/src/main/java/liquidjava/diagnostics/AliasExpansion.java‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,14 @@ private static void collect(Expression expression, Map<String, AliasWrapper> ali
5959
Map<String, Expression> bodies = new LinkedHashMap<>();
6060
for (AliasInvocation invocation : invocations) {
6161
AliasWrapper alias = aliases.get(invocation.getName());
62-
String shown = invocation.toDisplayString();
63-
if (alias == null || expanding.contains(alias.getName()) || expansions.containsKey(shown))
62+
// keyed by the invocation itself, since different names can display the same
63+
String key = invocation.toString();
64+
if (alias == null || expanding.contains(alias.getName()) || expansions.containsKey(key))
6465
continue;
6566
Expression body = substituteArguments(alias, invocation.getArgs());
66-
expansions.put(shown, new AliasExpansion(shown, body.toDisplayString(), alias.getName(),
67-
alias.getVarNames(), alias.getDefinition(), alias.getPosition()));
68-
bodies.put(shown, body);
67+
expansions.put(key, new AliasExpansion(invocation.toDisplayString(), body.toDisplayString(),
68+
alias.getName(), alias.getVarNames(), alias.getDefinition(), alias.getPosition()));
69+
bodies.put(key, body);
6970
}
7071
for (Map.Entry<String, Expression> body : bodies.entrySet()) {
7172
Set<String> inner = new HashSet<>(expanding);

0 commit comments

Comments
 (0)