| 2104 | return pbs |
| 2105 | } |
| 2106 | func NodesEqual(n1, n2 Node) bool { |
| 2107 | switch n1t := n1.(type) { |
| 2108 | case *BinaryNode: |
| 2109 | if n2t, ok := n2.(*BinaryNode); ok { |
| 2110 | return n1t.Equal(n2t) |
| 2111 | } |
| 2112 | case *UnaryNode: |
| 2113 | |
| 2114 | case *FuncNode: |
| 2115 | |
| 2116 | case *TriNode: |
| 2117 | |
| 2118 | case *ArrayNode: |
| 2119 | |
| 2120 | case *NumberNode: |
| 2121 | |
| 2122 | case *ValueNode: |
| 2123 | |
| 2124 | case *IdentityNode: |
| 2125 | |
| 2126 | case *StringNode: |
| 2127 | |
| 2128 | } |
| 2129 | return false |
| 2130 | } |
| 2131 | |
| 2132 | func ExprsFromNodes(nodes []Node) []*Expr { |
| 2133 | ex := make([]*Expr, len(nodes)) |