(parser)
| 5417 | this.args = { thing: thingElt, from, inElt, withinElt }; |
| 5418 | } |
| 5419 | static parse(parser) { |
| 5420 | var op = parser.matchAnyToken("next", "previous"); |
| 5421 | if (!op) return; |
| 5422 | var forwardSearch = op.value === "next"; |
| 5423 | var thingElt = parser.parseElement("leaf"); |
| 5424 | if (parser.matchToken("from")) { |
| 5425 | parser.pushFollow("in"); |
| 5426 | try { |
| 5427 | var from = parser.requireElement("unaryExpression"); |
| 5428 | } finally { |
| 5429 | parser.popFollow(); |
| 5430 | } |
| 5431 | } else { |
| 5432 | var from = parser.requireElement("implicitMeTarget"); |
| 5433 | } |
| 5434 | var inSearch = false; |
| 5435 | var withinElt; |
| 5436 | if (parser.matchToken("in")) { |
| 5437 | inSearch = true; |
| 5438 | var inElt = parser.requireElement("unaryExpression"); |
| 5439 | } else if (parser.matchToken("within")) { |
| 5440 | withinElt = parser.requireElement("unaryExpression"); |
| 5441 | } else { |
| 5442 | withinElt = null; |
| 5443 | } |
| 5444 | var wrapping = false; |
| 5445 | if (parser.matchToken("with")) { |
| 5446 | parser.requireToken("wrapping"); |
| 5447 | wrapping = true; |
| 5448 | } |
| 5449 | return new _RelativePositionalExpression( |
| 5450 | thingElt, |
| 5451 | from, |
| 5452 | forwardSearch, |
| 5453 | inSearch, |
| 5454 | wrapping, |
| 5455 | inElt, |
| 5456 | withinElt, |
| 5457 | op.value |
| 5458 | ); |
| 5459 | } |
| 5460 | scanForwardQuery(start, root, match, wrap) { |
| 5461 | var results = root.querySelectorAll(match); |
| 5462 | for (var i = 0; i < results.length; i++) { |
nothing calls this directly
no test coverage detected