diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-11-27 21:38:09 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-11-27 21:38:09 -0800 |
commit | fca48e92d4e51eb7e5b1a811b65e5d69fadeb713 (patch) | |
tree | 41bdb3252b20d563670e5db848cedc5c3be689cb /010vm.cc | |
parent | 7f193a0e006c44604918b54c853bd49508dbe8fd (diff) | |
download | mu-fca48e92d4e51eb7e5b1a811b65e5d69fadeb713.tar.gz |
2483 - to-text can now handle lists
'append' also implicitly calls 'to-text' unless there's a better variant.
Diffstat (limited to '010vm.cc')
-rw-r--r-- | 010vm.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/010vm.cc b/010vm.cc index fcd72be2..52e66f15 100644 --- a/010vm.cc +++ b/010vm.cc @@ -487,15 +487,18 @@ bool deeply_equal(const string_tree* a, const string_tree* b) { :(before "End Globals") set<string> Literal_type_names; :(before "End One-time Setup") -Literal_type_names.insert("literal"); Literal_type_names.insert("number"); Literal_type_names.insert("character"); :(code) bool deeply_equal_types(const string_tree* a, const string_tree* b) { if (!a) return !b; if (!b) return !a; - if (Literal_type_names.find(a->value) != Literal_type_names.end()) + if (a->value == "literal" && b->value == "literal") + return true; + if (a->value == "literal") return Literal_type_names.find(b->value) != Literal_type_names.end(); + if (b->value == "literal") + return Literal_type_names.find(a->value) != Literal_type_names.end(); return a->value == b->value && deeply_equal_types(a->left, b->left) && deeply_equal_types(a->right, b->right); |