(w DialectWriter)
| 1705 | return w.String() |
| 1706 | } |
| 1707 | func (m *UnaryNode) WriteDialect(w DialectWriter) { |
| 1708 | switch m.Operator.T { |
| 1709 | case lex.TokenNegate: |
| 1710 | if nn, ok := m.Arg.(NegateableNode); ok { |
| 1711 | nn.WriteNegate(w) |
| 1712 | return |
| 1713 | } |
| 1714 | io.WriteString(w, "NOT ") |
| 1715 | switch m.Arg.(type) { |
| 1716 | case *TriNode: |
| 1717 | io.WriteString(w, "(") |
| 1718 | m.Arg.WriteDialect(w) |
| 1719 | io.WriteString(w, ")") |
| 1720 | default: |
| 1721 | m.Arg.WriteDialect(w) |
| 1722 | } |
| 1723 | case lex.TokenExists: |
| 1724 | io.WriteString(w, "EXISTS ") |
| 1725 | m.Arg.WriteDialect(w) |
| 1726 | default: |
| 1727 | io.WriteString(w, m.Operator.V) |
| 1728 | io.WriteString(w, " (") |
| 1729 | m.Arg.WriteDialect(w) |
| 1730 | io.WriteString(w, ")") |
| 1731 | } |
| 1732 | } |
| 1733 | func (m *UnaryNode) Validate() error { |
| 1734 | return m.Arg.Validate() |
| 1735 | } |
no test coverage detected