summaryrefslogtreecommitdiff
path: root/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'frontends')
-rw-r--r--frontends/ast/ast.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/frontends/ast/ast.cc b/frontends/ast/ast.cc
index 115a3933..887ae85c 100644
--- a/frontends/ast/ast.cc
+++ b/frontends/ast/ast.cc
@@ -263,6 +263,11 @@ void AstNode::dumpAst(FILE *f, std::string indent)
fprintf(f, " int=%u", (int)integer);
fprintf(f, "\n");
+ for (auto &it : attributes) {
+ fprintf(f, "%s ATTR %s:\n", indent.c_str(), it.first.c_str());
+ it.second->dumpAst(f, indent + " ");
+ }
+
for (size_t i = 0; i < children.size(); i++)
children[i]->dumpAst(f, indent + " ");
}
@@ -296,6 +301,12 @@ void AstNode::dumpVlog(FILE *f, std::string indent)
return;
}
+ for (auto &it : attributes) {
+ fprintf(f, "%s" "(* %s = ", indent.c_str(), id2vl(it.first).c_str());
+ it.second->dumpVlog(f, "");
+ fprintf(f, " *)%s", indent.empty() ? "" : "\n");
+ }
+
switch (type)
{
case AST_MODULE: