diff options
Diffstat (limited to '010vm.cc')
-rw-r--r-- | 010vm.cc | 11 |
1 files changed, 9 insertions, 2 deletions
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; |