arg calls Builder.Arg, but wraps `a` with parens in case of a Selector.
(b *Builder, a any)
| 1387 | |
| 1388 | // arg calls Builder.Arg, but wraps `a` with parens in case of a Selector. |
| 1389 | func (*Predicate) arg(b *Builder, a any) { |
| 1390 | switch a.(type) { |
| 1391 | case *Selector: |
| 1392 | b.Wrap(func(b *Builder) { |
| 1393 | b.Arg(a) |
| 1394 | }) |
| 1395 | default: |
| 1396 | b.Arg(a) |
| 1397 | } |
| 1398 | } |
| 1399 | |
| 1400 | // clone returns a shallow clone of p. |
| 1401 | func (p *Predicate) clone() *Predicate { |