+
+ def write_to_file(self, fn):
+ with open(fn, "w") as out_file:
+ for s in self.statements:
+ s.write_to_file(out_file)
+
+ def write_collection(self, fn, *, exclude_self=False, filter=None):
+ items = self.collect_references()
+ if not exclude_self:
+ items.append(self)
+ with open(fn, "w") as out_file:
+ for i in items:
+ if filter and not filter(i):
+ continue
+ st = Statement(i.keyword, i.name)
+ st.sub = i.statements
+ st.write_to_file(out_file)