Change-Id: If9b2abce5c8c6960fa29640781c792bc5d911197
/** \brief Construct a Location. */
Location (void)
{
- first_line = last_line = 0;
- first_column = last_column = 0;
+ first_line = last_line = -1;
+ first_column = last_column = -1;
}
/** \} */
throw ia;
}
- catch (const InternalError& ie)
+ catch (InternalError& ie)
{
+ // set location if the function which thrown this execption was not able to do it
+ if(ie.GetErrorLocation().first_line == -1)
+ {
+ ie.SetErrorLocation(e.getLocation());
+ }
+
setExpectedSize(iSaveExpectedSize);
if (pIT != getResult())
{
}
catch (const ast::InternalError& ie)
{
- ConfigVariable::fillWhereError(ie.GetErrorLocation().first_line);
+ // fill where error with 0 as error line because
+ // an overload is always called from a gateway (native function)
+ ConfigVariable::fillWhereError(0);
if (pCall)
{
if (ConfigVariable::getLastErrorFunction() == L"")