Skip to content

Commit

Permalink
asdl_cpp: Subroutine update
Browse files Browse the repository at this point in the history
  • Loading branch information
certik committed Mar 19, 2022
1 parent ba0be44 commit a68d060
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions grammar/asdl_cpp.py
Original file line number Diff line number Diff line change
Expand Up @@ -970,9 +970,18 @@ def visitField(self, field, cons, cons_name):
self.emit('self().write_int64(x.m_%s->counter);' % field.name, level)
self.emit('self().write_int64(x.m_%s->scope.size());' % field.name, level)
self.emit('for (auto &a : x.m_%s->scope) {' % field.name, level)
self.emit(' if (ASR::is_a<ASR::Subroutine_t>(*a.second) || ASR::is_a<ASR::Function_t>(*a.second)) {', level)
self.emit(' continue;', level)
self.emit(' }', level)
self.emit(' self().write_string(a.first);', level)
self.emit(' this->visit_symbol(*a.second);', level)
self.emit('}', level)
self.emit('for (auto &a : x.m_%s->scope) {' % field.name, level)
self.emit(' if (ASR::is_a<ASR::Subroutine_t>(*a.second) || ASR::is_a<ASR::Function_t>(*a.second)) {', level)
self.emit(' self().write_string(a.first);', level)
self.emit(' this->visit_symbol(*a.second);', level)
self.emit(' }', level)
self.emit('}', level)
elif field.type == "string" and not field.seq:
if field.opt:
self.emit("if (x.m_%s) {" % field.name, 2)
Expand Down

0 comments on commit a68d060

Please sign in to comment.