Change-Id: Ia729cc8fbb787af452e06eb95563e83bff52655b
throw std::move(error);
}
ASSERT(result);
- result->evaluate();
- it.first->second = std::move(result);
+ CallOnExit _tmp{ [&]()
+ {
+ it.first->second = std::move(result);
+ }};
+ try
+ {
+ result->evaluate();
+ } catch (ReturnValue)
+ {
+ } catch (BreakValue)
+ {
+ throw EvaluationFailure{} << "break used on global scope in file " << filename;
+ } catch (ContinueValue)
+ {
+ throw EvaluationFailure{} << "continue used on global scope in file " << filename;
+ }
return {};
}, { {"filename"} } };