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

Method parseActionExpr

compiler/parser/parser.go:25355–25378  ·  view source on GitHub ↗
(act *actionExpr)

Source from the content-addressed store, hash-verified

25353}
25354
25355func (p *parser) parseActionExpr(act *actionExpr) (any, bool) {
25356 if p.debug {
25357 defer p.out(p.in("parseActionExpr"))
25358 }
25359
25360 start := p.pt
25361 val, ok := p.parseExprWrap(act.expr)
25362 if ok {
25363 p.cur.pos = start.position
25364 p.cur.text = p.sliceFrom(start)
25365 state := p.cloneState()
25366 actVal, err := act.run(p)
25367 if err != nil {
25368 p.addErrAt(err, start.position, []string{})
25369 }
25370 p.restoreState(state)
25371
25372 val = actVal
25373 }
25374 if ok && p.debug {
25375 p.printIndent("MATCH", string(p.sliceFrom(start)))
25376 }
25377 return val, ok
25378}
25379
25380func (p *parser) parseAndCodeExpr(and *andCodeExpr) (any, bool) {
25381 if p.debug {

Callers 1

parseExprMethod · 0.95

Calls 9

outMethod · 0.95
inMethod · 0.95
parseExprWrapMethod · 0.95
sliceFromMethod · 0.95
cloneStateMethod · 0.95
addErrAtMethod · 0.95
restoreStateMethod · 0.95
printIndentMethod · 0.95
runMethod · 0.45

Tested by

no test coverage detected