check_sub_loads(false)
{ }
-Loader::~Loader()
-{
- for(ActionMap::iterator i=local_actions.begin(); i!=local_actions.end(); ++i)
- delete i->second;
-}
-
void Loader::load(Parser &p)
{
if(!actions)
throw logic_error("substatements ignored");
}
}
- catch(const data_error &)
+ catch(const data_error &e)
{
- throw;
+ if(e.get_source()!=st.source)
+ throw data_error(st.source, st.line, e);
+ else
+ throw;
}
catch(const exception &e)
{
return cur_st->keyword;
}
+
+Loader::ActionMap::~ActionMap()
+{
+ for(iterator i=begin(); i!=end(); ++i)
+ delete i->second;
+}
+
} // namespace DataFile
} // namespace Msp