diff options
Diffstat (limited to '030container.cc')
-rw-r--r-- | 030container.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/030container.cc b/030container.cc index 4cc0d58e..1f86d054 100644 --- a/030container.cc +++ b/030container.cc @@ -433,6 +433,7 @@ void insert_container(const string& command, kind_of_type kind, istream& in) { void replace_unknown_types_with_unique_ordinals(type_tree* type, const type_info& info) { if (!type) return; + // End insert_container Special-cases if (!type->name.empty()) { if (contains_key(Type_ordinal, type->name)) { type->value = get(Type_ordinal, type->name); @@ -440,12 +441,12 @@ void replace_unknown_types_with_unique_ordinals(type_tree* type, const type_info else if (is_integer(type->name)) { // sometimes types will contain non-type tags, like numbers for the size of an array type->value = 0; } - // End insert_container Special-cases else if (type->name != "->") { // used in recipe types put(Type_ordinal, type->name, Next_type_ordinal++); type->value = get(Type_ordinal, type->name); } } + recurse: replace_unknown_types_with_unique_ordinals(type->left, info); replace_unknown_types_with_unique_ordinals(type->right, info); } |