* Added NodeBuilder<>::getChild() to make interface more consistent
authorMorgan Deters <mdeters@gmail.com>
Thu, 3 Jun 2010 13:22:57 +0000 (13:22 +0000)
committerMorgan Deters <mdeters@gmail.com>
Thu, 3 Jun 2010 13:22:57 +0000 (13:22 +0000)
commit25a999fdfd2e38098d0c8dc6b788c9debe4401d5
treeebc41c53aee0c88619d82210f0a0987377d3dfb6
parentd0dc48f0dcba16849fcc9c8649728d813f7c2305
* Added NodeBuilder<>::getChild() to make interface more consistent
  with that of Node.

* If NodeBuilder<> hasn't yet been assigned a Kind, several member functions
  related to children now throw an IllegalArgumentException:

    * getNumChildren()
    * begin()
    * end()
    * operator[]
    * getChild()

  This is because if you later assign the NodeBuilder<> a PARAMETERIZED kind,
  the children are "reinterpreted" -- the first being an operator.  Interface-wise,
  it doesn't make sense to return one thing for nb[0], then later, after setting
  the kind, to return another thing for nb[0].

* Fixed unit tests depending on this behavior.

* Added a warning to the testing summary if unit tests didn't run (because this
  is likely due to compilation problems, and without a warning it looks kind of
  like a test success)

* VERBOSE wasn't exported to the environment for unit test "make check."  Fixed.
src/expr/node_builder.h
test/Makefile.am
test/unit/Makefile.am
test/unit/expr/node_builder_black.h
test/unit/expr/node_white.h