diff --git a/components/compiler/exprparser.cpp b/components/compiler/exprparser.cpp index 7c61ad0ee..0c8220e97 100644 --- a/components/compiler/exprparser.cpp +++ b/components/compiler/exprparser.cpp @@ -639,7 +639,8 @@ namespace Compiler if (code==Scanner::S_newline) { // end marker - mTokenLoc = loc; + if (mTokenLoc.mLiteral.empty()) + mTokenLoc = loc; scanner.putbackSpecial (code, loc); return false; } @@ -820,7 +821,7 @@ namespace Compiler if (parser.isEmpty()) break; else - getErrorHandler().warning("Ignoring extra argument", mTokenLoc); + getErrorHandler().warning("Ignoring extra argument", parser.getTokenLoc()); } else if (*iter=='z') { @@ -878,4 +879,9 @@ namespace Compiler return optionalCount; } + + const TokenLoc& ExprParser::getTokenLoc() const + { + return mTokenLoc; + } } diff --git a/components/compiler/exprparser.hpp b/components/compiler/exprparser.hpp index 639ca65aa..dd8259ee1 100644 --- a/components/compiler/exprparser.hpp +++ b/components/compiler/exprparser.hpp @@ -103,6 +103,8 @@ namespace Compiler /// \param invert Store arguments in reverted order. /// \param ignoreKeyword A keyword that is seen as junk /// \return number of optional arguments + + const TokenLoc& getTokenLoc() const; }; }