(rule *rule)
| 25230 | } |
| 25231 | |
| 25232 | func (p *parser) parseRuleMemoize(rule *rule) (any, bool) { |
| 25233 | res, ok := p.getMemoized(rule) |
| 25234 | if ok { |
| 25235 | p.restore(res.end) |
| 25236 | return res.v, res.b |
| 25237 | } |
| 25238 | |
| 25239 | startMark := p.pt |
| 25240 | val, ok := p.parseRule(rule) |
| 25241 | p.setMemoized(startMark, rule, resultTuple{val, ok, p.pt}) |
| 25242 | |
| 25243 | return val, ok |
| 25244 | } |
| 25245 | |
| 25246 | func (p *parser) parseRuleWrap(rule *rule) (any, bool) { |
| 25247 | if p.debug { |
no test coverage detected