Fix bugs in XQuery lexer.

This commit is contained in:
William Candillon 2013-01-31 13:22:47 +01:00 committed by nightwing
commit 39f2ad34a7
3 changed files with 1143 additions and 1131 deletions

View file

@ -145,17 +145,23 @@ define(function(require, exports, module){
};
function setValue(node, begin, end) {
var e = end - cursor;
ptr.value = remains.substring(0, e);
var sl = line;
var sc = line === 0 ? lineCursor : lineCursor - 1;
var el = sl + ptr.value.split("\n").length - 1;
var lastIdx = ptr.value.lastIndexOf("\n");
var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx).length;
remains = remains.substring(e);
cursor = end;
lineCursor = lastIdx === -1 ? lineCursor + (ptr.value.length) : ec;
line = el;
var sl = line;
var sc = lineCursor;
var el = sl + ptr.value.split("\n").length - 1;
var lastIdx = ptr.value.lastIndexOf("\n");
var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx + 1).length;
// ec = ec === 0 ? 0 : ec - 1;
line = el;
//lineCursor = ec === 0 ? 0 : ec;
lineCursor = ec;
ptr.pos.sl = sl;
ptr.pos.sc = sc;
ptr.pos.el = el;

View file

@ -53,6 +53,9 @@ start ::= '<![CDATA['
| ","
| "."
| ";"
| ":"
| "!"
| "|"
| Annotation
| ModuleDecl
| OptionDecl

File diff suppressed because it is too large Load diff