String returns a readable debug string for this UnionFind object.
()
| 48 | |
| 49 | // String returns a readable debug string for this UnionFind object. |
| 50 | func (uf UnionFind) String() string { |
| 51 | var sb strings.Builder |
| 52 | sb.WriteRune('{') |
| 53 | for k, v := range uf.parent { |
| 54 | if k.Equals(v) { |
| 55 | continue |
| 56 | } |
| 57 | sb.WriteRune(' ') |
| 58 | sb.WriteString(k.String()) |
| 59 | sb.WriteString("->") |
| 60 | sb.WriteString(v.String()) |
| 61 | } |
| 62 | sb.WriteString(" }") |
| 63 | return sb.String() |
| 64 | } |
| 65 | |
| 66 | // Adds an edge. |
| 67 | func (uf UnionFind) union(s ast.BaseTerm, t ast.BaseTerm) { |