use the same bindings print for ExprAttrs and ExprLet

this also has the effect of sorting let bindings lexicographically
rather than by symbol creation order as was previously done, giving a
better canonicalization in the process.

(cherry picked from commit 6c08fba533ef31cad2bdc03ba72ecf58dc8ee5a0)
Change-Id: Ia887f629305645bb8a165fbbc0d32e620912595a
This commit is contained in:
eldritch horrors
2024-03-10 03:18:32 -06:00
parent 1cf0fa0633
commit bf19eebb9b
3 changed files with 12 additions and 13 deletions
+2
View File
@@ -201,6 +201,8 @@ struct ExprAttrs : Expr
ExprAttrs() : recursive(false) { };
PosIdx getPos() const override { return pos; }
COMMON_METHODS
void showBindings(const SymbolTable & symbols, std::ostream & str) const;
};
struct ExprList : Expr