similar returns true if the two Args are equal or almost but not quite equal.
(r *Args, similar Similarity)
| 262 | // similar returns true if the two Args are equal or almost but not quite |
| 263 | // equal. |
| 264 | func (a *Args) similar(r *Args, similar Similarity) bool { |
| 265 | if a.Elided != r.Elided || len(a.Values) != len(r.Values) { |
| 266 | return false |
| 267 | } |
| 268 | for i, l := range a.Values { |
| 269 | if !l.similar(&r.Values[i], similar) { |
| 270 | return false |
| 271 | } |
| 272 | } |
| 273 | return true |
| 274 | } |
| 275 | |
| 276 | // merge merges two similar Args, zapping out differences. |
| 277 | func (a *Args) merge(r *Args) Args { |