diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-07-21 11:56:27 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-07-21 12:04:55 -0700 |
commit | fc19980d91e306df87b308d0c2875a2dcaf4b5c7 (patch) | |
tree | cb0a172d6ccc356ef3a707b1b00c920621312cf9 /030container.cc | |
parent | 2c697d86791b0771e34b44d0b6864030595c6334 (diff) | |
download | mu-fc19980d91e306df87b308d0c2875a2dcaf4b5c7.tar.gz |
3119
Warn if 'put' or 'put-index' has a mismatch in the type of the product, not just the name. It won't do any harm, but could be misleading to a later reader. In both instructions, the product is just for documentation.
Diffstat (limited to '030container.cc')
-rw-r--r-- | 030container.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/030container.cc b/030container.cc index 0c3da911..e22fe4be 100644 --- a/030container.cc +++ b/030container.cc @@ -434,10 +434,12 @@ case PUT: { raise << maybe(get(Recipe, r).name) << "'put " << base.original_string << ", " << offset.original_string << "' should write to " << names_to_string_without_quotes(element.type) << " but '" << value.name << "' has type " << names_to_string_without_quotes(value.type) << '\n' << end(); break; } - if (!inst.products.empty() && inst.products.at(0).name != inst.ingredients.at(0).name) { + if (inst.products.empty()) break; // no more checks necessary + if (inst.products.at(0).name != inst.ingredients.at(0).name) { raise << maybe(get(Recipe, r).name) << "product of 'put' must be first ingredient '" << inst.ingredients.at(0).original_string << "', but got '" << inst.products.at(0).original_string << "'\n" << end(); break; } + // End PUT Product Checks break; } :(before "End Primitive Recipe Implementations") |