Skip to content

Commit 72f1f92

Browse files
committed
fix up PR by reusing termdag
1 parent 161a36f commit 72f1f92

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/serialize.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ pub struct SerializeConfig {
1515

1616
struct Serializer<'a> {
1717
extractor: Extractor<'a>,
18+
termdag: TermDag,
1819
node_ids: NodeIDs,
1920
result: egraph_serialize::EGraph,
2021
}
@@ -142,10 +143,13 @@ impl EGraph {
142143
},
143144
);
144145

146+
let mut termdag = TermDag::default();
147+
145148
let mut serializer = Serializer {
146-
extractor: Extractor::new(self, &mut TermDag::default()),
149+
extractor: Extractor::new(self, &mut termdag),
147150
node_ids,
148151
result: egraph_serialize::EGraph::default(),
152+
termdag,
149153
};
150154

151155
for (func, input, output, class_id, node_id) in all_calls {
@@ -311,12 +315,14 @@ impl EGraph {
311315
let op = if sort.is_container_sort() {
312316
sort.serialized_name(value).to_string()
313317
} else {
314-
let termdag = &mut TermDag::default();
315318
let (_, term) = sort
316-
.extract_term(self, *value, &serializer.extractor, termdag)
319+
.extract_term(self, *value, &serializer.extractor, &mut serializer.termdag)
317320
.expect("Extraction should be successful since extractor has been fully initialized");
318321

319-
termdag.term_to_expr(&term, Span::Panic).to_string()
322+
serializer
323+
.termdag
324+
.term_to_expr(&term, Span::Panic)
325+
.to_string()
320326
};
321327
serializer.result.nodes.insert(
322328
node_id.clone(),

0 commit comments

Comments
 (0)