MCPcopy Create free account
hub / github.com/brimdata/super / parseRuleMemoize

Method parseRuleMemoize

compiler/parser/parser.go:25232–25244  ·  view source on GitHub ↗
(rule *rule)

Source from the content-addressed store, hash-verified

25230}
25231
25232func (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
25246func (p *parser) parseRuleWrap(rule *rule) (any, bool) {
25247 if p.debug {

Callers 1

parseRuleWrapMethod · 0.95

Calls 4

getMemoizedMethod · 0.95
restoreMethod · 0.95
parseRuleMethod · 0.95
setMemoizedMethod · 0.95

Tested by

no test coverage detected