similar returns true if the two Stack are equal or almost but not quite equal.
(r *Stack, similar Similarity)
| 531 | // similar returns true if the two Stack are equal or almost but not quite |
| 532 | // equal. |
| 533 | func (s *Stack) similar(r *Stack, similar Similarity) bool { |
| 534 | if len(s.Calls) != len(r.Calls) || s.Elided != r.Elided { |
| 535 | return false |
| 536 | } |
| 537 | for i := range s.Calls { |
| 538 | if !s.Calls[i].similar(&r.Calls[i], similar) { |
| 539 | return false |
| 540 | } |
| 541 | } |
| 542 | return true |
| 543 | } |
| 544 | |
| 545 | // merge merges two similar Stack, zapping out differences. |
| 546 | func (s *Stack) merge(r *Stack) *Stack { |