Overview
| Comment: | [core][js] catch error in Map |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | core |
| Files: | files | file ages | folders |
| SHA3-256: |
bfd183b930d210959cd1a2207c546e46 |
| User & Date: | olr on 2017-07-31 05:41:46 |
| Other Links: | manifest | tags |
Context
|
2017-07-31
| ||
| 06:52 | [core][js] log error with helpers check-in: 6eb67129ef user: olr tags: trunk, core | |
| 05:41 | [core][js] catch error in Map check-in: bfd183b930 user: olr tags: trunk, core | |
| 04:55 | [fx][core][js] WebExtension: merge with 0053e9898b check-in: a43bd18afb user: olr tags: trunk, fx | |
Changes
Modified gc_core/js/jsex_regex.js from [cba83b3853] to [ebc9cfd90d].
| ︙ | ︙ | |||
21 22 23 24 25 26 27 |
return null;
}
let codePos;
let iPos = 0;
m.start = [m.index];
m.end = [this.lastIndex];
| > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
return null;
}
let codePos;
let iPos = 0;
m.start = [m.index];
m.end = [this.lastIndex];
try {
if (m.length > 1) {
// there is subgroup(s)
if (aGroupsPos !== null) {
// aGroupsPos is defined
for (let i = 1; i <= m.length-1; i++) {
codePos = aGroupsPos[i-1];
if (typeof codePos === "number") {
// position as a number
m.start.push(m.index + codePos);
m.end.push(m.index + codePos + m[i].length);
} else if (codePos === "$") {
// at the end of the pattern
m.start.push(this.lastIndex - m[i].length);
m.end.push(this.lastIndex);
} else if (codePos === "w") {
// word in the middle of the pattern
iPos = m[0].search("[ ’,()«»“”]"+m[i]+"[ ,’()«»“”]") + 1 + m.index
m.start.push(iPos);
m.end.push(iPos + m[i].length)
} else if (codePos === "*") {
// anywhere
iPos = m[0].indexOf(m[i]) + m.index;
m.start.push(iPos);
m.end.push(iPos + m[i].length)
} else if (codePos === "**") {
// anywhere after previous group
iPos = m[0].indexOf(m[i], m.end[i-1]-m.index) + m.index;
m.start.push(iPos);
m.end.push(iPos + m[i].length)
} else if (codePos.startsWith(">")) {
// >x:_
// todo: look in substring x
iPos = m[0].indexOf(m[i]) + m.index;
m.start.push(iPos);
m.end.push(iPos + m[i].length);
} else {
console.error("# Error: unknown positioning code in regex [" + this.source + "], for group[" + i.toString() +"], code: [" + codePos + "]");
}
}
} else {
// no aGroupsPos
for (let subm of m.slice(1)) {
iPos = m[0].indexOf(subm) + m.index;
m.start.push(iPos);
m.end.push(iPos + subm.length);
}
}
}
}
catch (e) {
console.error(e);
}
return m;
}
RegExp.prototype.grammalecte = true;
}
|