diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-02-19 13:42:45 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-02-19 13:42:45 -0800 |
commit | 9f95c7451b940b6644cb6fd6783ea9c17168357e (patch) | |
tree | d1443c9c4dc48bdc6bd67c7e16b43b9185d6d835 /059shape_shifting_recipe.cc | |
parent | b83b2cfd6676e0caa18b39f22f01bdebf41c9d58 (diff) | |
download | mu-9f95c7451b940b6644cb6fd6783ea9c17168357e.tar.gz |
2685
Stack of plans for cleaning up replace_type_ingredients() and a couple of other things, from main problem to subproblems: include type names in the type_tree rather than in the separate properties vector make type_tree and string_tree real cons cells, with separate leaf nodes redo the vocabulary for dumping various objects: do we really need to_string and debug_string? can we have a version with *all* information? can we have to_string not call debug_string? This commit nibbles at the edges of the final task, switching from member method syntax to global function like almost everything else. I'm mostly using methods just for STL in this project.
Diffstat (limited to '059shape_shifting_recipe.cc')
-rw-r--r-- | 059shape_shifting_recipe.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/059shape_shifting_recipe.cc b/059shape_shifting_recipe.cc index 5bb1126d..5784af16 100644 --- a/059shape_shifting_recipe.cc +++ b/059shape_shifting_recipe.cc @@ -301,7 +301,7 @@ void compute_type_names(recipe& variant) { save_or_deduce_type_name(variant.products.at(i), type_names, variant); for (long long int i = 0; i < SIZE(variant.steps); ++i) { instruction& inst = variant.steps.at(i); - trace(9993, "transform") << " instruction: " << inst.to_string() << end(); + trace(9993, "transform") << " instruction: " << to_string(inst) << end(); for (long long int in = 0; in < SIZE(inst.ingredients); ++in) save_or_deduce_type_name(inst.ingredients.at(in), type_names, variant); for (long long int out = 0; out < SIZE(inst.products); ++out) @@ -310,7 +310,7 @@ void compute_type_names(recipe& variant) { } void save_or_deduce_type_name(reagent& x, map<string, string_tree*>& type_name, const recipe& variant) { - trace(9994, "transform") << " checking " << x.to_string() << ": " << debug_string(x.properties.at(0).second) << end(); + trace(9994, "transform") << " checking " << to_string(x) << ": " << debug_string(x.properties.at(0).second) << end(); if (!x.properties.at(0).second && contains_key(type_name, x.name)) { x.properties.at(0).second = new string_tree(*get(type_name, x.name)); trace(9994, "transform") << " deducing type to " << debug_string(x.properties.at(0).second) << end(); @@ -374,7 +374,7 @@ void accumulate_type_ingredients(const string_tree* exemplar_type, const string_ } else { if (!deeply_equal_types(get(mappings, exemplar_type->value), refinement_type)) { - raise_error << maybe(caller_recipe.name) << "no call found for '" << call_instruction.to_string() << "'\n" << end(); + raise_error << maybe(caller_recipe.name) << "no call found for '" << to_string(call_instruction) << "'\n" << end(); //? cerr << exemplar_type->value << ": " << debug_string(get(mappings, exemplar_type->value)) << " vs " << debug_string(refinement_type) << '\n'; *error = true; return; @@ -404,7 +404,7 @@ void replace_type_ingredients(recipe& new_recipe, const map<string, const string // update its body for (long long int i = 0; i < SIZE(new_recipe.steps); ++i) { instruction& inst = new_recipe.steps.at(i); - trace(9993, "transform") << "replacing in instruction '" << inst.to_string() << "'" << end(); + trace(9993, "transform") << "replacing in instruction '" << to_string(inst) << "'" << end(); for (long long int j = 0; j < SIZE(inst.ingredients); ++j) replace_type_ingredients(inst.ingredients.at(j), mappings, new_recipe); for (long long int j = 0; j < SIZE(inst.products); ++j) @@ -413,7 +413,7 @@ void replace_type_ingredients(recipe& new_recipe, const map<string, const string if (inst.name == "new" && inst.ingredients.at(0).properties.at(0).second->value != "literal-string") { string_tree* type_name = parse_string_tree(inst.ingredients.at(0).name); replace_type_ingredients(type_name, mappings); - inst.ingredients.at(0).name = type_name->to_string(); + inst.ingredients.at(0).name = to_string(type_name); delete type_name; } } |