about summary refs log tree commit diff stats
path: root/054static_dispatch.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-04-20 17:02:35 -0700
committerKartik K. Agaram <vc@akkartik.com>2017-04-20 17:10:23 -0700
commitf6645643953eeb0a493d258759a4421505d13539 (patch)
tree08f6dfdc9ff3f78eb9090f565b2e4ebe7071e00d /054static_dispatch.cc
parent84537b81bd210ba5eadf618a7858be7db1ae4350 (diff)
downloadmu-f6645643953eeb0a493d258759a4421505d13539.tar.gz
3840
Fix CI.

Our previous approach was breaking because a test was generating different
results depending on what layer you stopped at. Turns out we rename instructions
in layer 54. So let's save the original_name in the same layer.
Diffstat (limited to '054static_dispatch.cc')
-rw-r--r--054static_dispatch.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/054static_dispatch.cc b/054static_dispatch.cc
index 11455ae9..00c9c645 100644
--- a/054static_dispatch.cc
+++ b/054static_dispatch.cc
@@ -139,6 +139,13 @@ for (int i = 0;  i < SIZE(caller.ingredients);  ++i)
 for (int i = 0;  i < SIZE(caller.products);  ++i)
   check_or_set_invalid_types(caller.products.at(i).type, maybe(caller.name), "recipe header product");
 
+//: save original name of recipes before renaming them
+:(before "End recipe Fields")
+string original_name;
+//: original name is only set during load
+:(before "End Load Recipe Name")
+result.original_name = result.name;
+
 //: after filling in all missing types (because we'll be introducing 'blank' types in this transform in a later layer, for shape-shifting recipes)
 :(after "Transform.push_back(transform_names)")
 Transform.push_back(resolve_ambiguous_calls);  // idempotent
@@ -576,7 +583,7 @@ string header_label(const recipe& caller) {
 
 string original_header_label(const recipe& caller) {
   ostringstream out;
-  out << "recipe " << caller.name;
+  out << "recipe " << caller.original_name;
   for (int i = 0;  i < SIZE(caller.ingredients);  ++i)
     out << ' ' << caller.ingredients.at(i).original_string;
   if (!caller.products.empty()) out << " ->";