Bug 1297706 - Fix FunctionBox::setStart to get the correct line/column. r=njn

This commit is contained in:
Jan de Mooij 2016-09-06 16:16:39 +02:00
Родитель 1825c6826c
Коммит fd31d17518
3 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -582,8 +582,7 @@ class FunctionBox : public ObjectBox, public SharedContext
void setStart(const TokenStream& tokenStream) {
bufStart = tokenStream.currentToken().pos.begin;
startLine = tokenStream.getLineno();
startColumn = tokenStream.getColumn();
tokenStream.srcCoords.lineNumAndColumnIndex(bufStart, &startLine, &startColumn);
}
void trace(JSTracer* trc) override;

Просмотреть файл

@ -333,8 +333,6 @@ class MOZ_STACK_CLASS TokenStream
}
const CharBuffer& getTokenbuf() const { return tokenbuf; }
const char* getFilename() const { return filename; }
unsigned getLineno() const { return lineno; }
unsigned getColumn() const { return userbuf.offset() - linebase - 1; }
bool getMutedErrors() const { return mutedErrors; }
JSVersion versionNumber() const { return VersionNumber(options().version); }
JSVersion versionWithFlags() const { return options().version; }

Просмотреть файл

@ -0,0 +1,6 @@
function f() { return g(abcd => Error()); }
function g(x) { return x(); }
var err = f(1, 2);
var lines = err.stack.split("\n");
assertEq(lines[0].endsWith(":1:33"), true);
assertEq(lines[1].endsWith(":2:24"), true);