diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-02-17 10:09:48 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-02-17 10:09:48 -0800 |
commit | 3adc9e08715fb695b8a7f53d5cfb3db1bd434b05 (patch) | |
tree | 2336287ac111e0038fd01391ea9d4c57fe9a3f2b /032array.cc | |
parent | 89500176d9ff86eedcc99c2d2d11b1ac96022c97 (diff) | |
download | mu-3adc9e08715fb695b8a7f53d5cfb3db1bd434b05.tar.gz |
2667 - redo container data structure
I've been gradually Greenspunning reagents. Just go all the way.
Diffstat (limited to '032array.cc')
-rw-r--r-- | 032array.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/032array.cc b/032array.cc index aace0a5a..b558d98f 100644 --- a/032array.cc +++ b/032array.cc @@ -134,14 +134,17 @@ container foo [ +error: container 'foo' cannot determine size of element x :(before "End Load Container Element Definition") -if (info.element_type_names.back()->value == "array") { - if (!info.element_type_names.back()->right) { - raise_error << "container '" << name << "' doesn't specify type of array elements for " << info.element_names.back() << '\n' << end(); - continue; - } - if (!info.element_type_names.back()->right->right) { // array has no length - raise_error << "container '" << name << "' cannot determine size of element " << info.element_names.back() << '\n' << end(); - continue; +{ + const string_tree* type_name = info.elements.back().properties.at(0).second; + if (type_name->value == "array") { + if (!type_name->right) { + raise_error << "container '" << name << "' doesn't specify type of array elements for " << info.elements.back().name << '\n' << end(); + continue; + } + if (!type_name->right->right) { // array has no length + raise_error << "container '" << name << "' cannot determine size of element " << info.elements.back().name << '\n' << end(); + continue; + } } } |