Detect functions that try to bind variables from an outer scope.

And raise an error saying that's not supported.
Addresses BIT-1233.
This commit is contained in:
Jon Siwek 2014-08-22 16:49:10 -05:00
parent f8895843cf
commit 3521a92a00
4 changed files with 76 additions and 2 deletions

View file

@ -660,8 +660,13 @@ void Case::Describe(ODesc* d) const
TraversalCode Case::Traverse(TraversalCallback* cb) const
{
TraversalCode tc = cases->Traverse(cb);
HANDLE_TC_STMT_PRE(tc);
TraversalCode tc;
if ( cases )
{
tc = cases->Traverse(cb);
HANDLE_TC_STMT_PRE(tc);
}
tc = s->Traverse(cb);
HANDLE_TC_STMT_PRE(tc);