From ed09f7384ad87e87e1035b948c7f88841570f292 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 1 Nov 2015 18:14:18 -0800 Subject: 2339 - don't let dump_types modify Type --- 010vm.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to '010vm.cc') diff --git a/010vm.cc b/010vm.cc index bdf4ec17..906a2cd1 100644 --- a/010vm.cc +++ b/010vm.cc @@ -392,7 +392,7 @@ string dump_types(const reagent& x) { void dump_types(type_tree* type, ostream& out) { // abbreviate a single-node tree to just its contents if (!type->left && !type->right) { - out << Type[type->value].name; + dump_type_name(type->value, out); return; } dump_types_tree(type, out); @@ -403,7 +403,7 @@ void dump_types_tree(type_tree* type, ostream& out) { if (type->left) dump_types_tree(type->left, out); else - out << Type[type->value].name; + dump_type_name(type->value, out); out << " : "; if (type->right) dump_types_tree(type->right, out); @@ -412,6 +412,13 @@ void dump_types_tree(type_tree* type, ostream& out) { out << ">"; } +void dump_type_name(recipe_ordinal type, ostream& out) { + if (Type.find(type) != Type.end()) + out << Type[type].name; + else + out << "?"; +} + string instruction::to_string() const { if (is_label) return label; ostringstream out; -- cgit 1.4.1-2-gfad0