| 600 | } |
| 601 | |
| 602 | UnionType::case_vector_t UnionType::getUniqueCases() |
| 603 | { |
| 604 | UnionType::case_vector_t uniqueCases; |
| 605 | bool uniqueAddCase = true; |
| 606 | for (auto unionCase : getCases()) |
| 607 | { |
| 608 | for (auto uniqueCase : uniqueCases) |
| 609 | { |
| 610 | if (casesAreTheSame(unionCase, uniqueCase)) |
| 611 | { |
| 612 | uniqueAddCase = false; |
| 613 | } |
| 614 | } |
| 615 | if (uniqueAddCase) |
| 616 | { |
| 617 | uniqueCases.push_back(unionCase); |
| 618 | } |
| 619 | uniqueAddCase = true; |
| 620 | } |
| 621 | return uniqueCases; |
| 622 | } |
| 623 | |
| 624 | bool UnionType::casesAreTheSame(UnionCase *a, UnionCase *b) |
| 625 | { |
no test coverage detected