stringHelper does simple DFS to convert FilterTree to string. nolint: unused
(buf *bytes.Buffer)
| 1468 | // stringHelper does simple DFS to convert FilterTree to string. |
| 1469 | // nolint: unused |
| 1470 | func (f *FilterTree) stringHelper(buf *bytes.Buffer) { |
| 1471 | x.AssertTrue(f != nil) |
| 1472 | if f.Func != nil && len(f.Func.Name) > 0 { |
| 1473 | // Leaf node. |
| 1474 | x.Check2(buf.WriteRune('(')) |
| 1475 | x.Check2(buf.WriteString(f.Func.Name)) |
| 1476 | |
| 1477 | if len(f.Func.Attr) > 0 { |
| 1478 | x.Check2(buf.WriteRune(' ')) |
| 1479 | switch { |
| 1480 | case f.Func.IsCount: |
| 1481 | x.Check2(buf.WriteString("count(")) |
| 1482 | case f.Func.IsValueVar: |
| 1483 | x.Check2(buf.WriteString("val(")) |
| 1484 | case f.Func.IsLenVar: |
| 1485 | x.Check2(buf.WriteString("len(")) |
| 1486 | } |
| 1487 | x.Check2(buf.WriteString(f.Func.Attr)) |
| 1488 | if f.Func.IsCount || f.Func.IsValueVar || f.Func.IsLenVar { |
| 1489 | x.Check2(buf.WriteRune(')')) |
| 1490 | } |
| 1491 | if len(f.Func.Lang) > 0 { |
| 1492 | x.Check2(buf.WriteRune('@')) |
| 1493 | x.Check2(buf.WriteString(f.Func.Lang)) |
| 1494 | } |
| 1495 | |
| 1496 | for _, arg := range f.Func.Args { |
| 1497 | if arg.IsValueVar { |
| 1498 | x.Check2(buf.WriteString(" val(")) |
| 1499 | } else { |
| 1500 | x.Check2(buf.WriteString(" \"")) |
| 1501 | } |
| 1502 | x.Check2(buf.WriteString(arg.Value)) |
| 1503 | if arg.IsValueVar { |
| 1504 | x.Check2(buf.WriteRune(')')) |
| 1505 | } else { |
| 1506 | x.Check2(buf.WriteRune('"')) |
| 1507 | } |
| 1508 | } |
| 1509 | } |
| 1510 | x.Check2(buf.WriteRune(')')) |
| 1511 | return |
| 1512 | } |
| 1513 | // Non-leaf node. |
| 1514 | x.Check2(buf.WriteRune('(')) |
| 1515 | switch f.Op { |
| 1516 | case "and": |
| 1517 | x.Check2(buf.WriteString("AND")) |
| 1518 | case "or": |
| 1519 | x.Check2(buf.WriteString("OR")) |
| 1520 | case "not": |
| 1521 | x.Check2(buf.WriteString("NOT")) |
| 1522 | default: |
| 1523 | x.Fatalf("Unknown operator: %q", f.Op) |
| 1524 | } |
| 1525 | |
| 1526 | for _, c := range f.Child { |
| 1527 | x.Check2(buf.WriteRune(' ')) |
no test coverage detected