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 /032array.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 '032array.cc')
-rw-r--r-- | 032array.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/032array.cc b/032array.cc index 7f918870..56b487a6 100644 --- a/032array.cc +++ b/032array.cc @@ -385,10 +385,12 @@ case PUT_INDEX: { raise << maybe(get(Recipe, r).name) << "'put-index " << base.original_string << ", " << inst.ingredients.at(1).original_string << "' should store " << 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-index' must be first ingredient '" << inst.ingredients.at(0).original_string << "', but got '" << inst.products.at(0).original_string << "'\n" << end(); break; } + // End PUT_INDEX Product Checks break; } :(before "End Primitive Recipe Implementations") |