Fix bugs in XQuery lexer.
This commit is contained in:
parent
f65d123dc8
commit
39f2ad34a7
3 changed files with 1143 additions and 1131 deletions
|
|
@ -145,17 +145,23 @@ define(function(require, exports, module){
|
||||||
};
|
};
|
||||||
|
|
||||||
function setValue(node, begin, end) {
|
function setValue(node, begin, end) {
|
||||||
|
|
||||||
var e = end - cursor;
|
var e = end - cursor;
|
||||||
ptr.value = remains.substring(0, e);
|
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);
|
remains = remains.substring(e);
|
||||||
cursor = end;
|
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.sl = sl;
|
||||||
ptr.pos.sc = sc;
|
ptr.pos.sc = sc;
|
||||||
ptr.pos.el = el;
|
ptr.pos.el = el;
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,9 @@ start ::= '<![CDATA['
|
||||||
| ","
|
| ","
|
||||||
| "."
|
| "."
|
||||||
| ";"
|
| ";"
|
||||||
|
| ":"
|
||||||
|
| "!"
|
||||||
|
| "|"
|
||||||
| Annotation
|
| Annotation
|
||||||
| ModuleDecl
|
| ModuleDecl
|
||||||
| OptionDecl
|
| OptionDecl
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue