(s)
| 815 | |
| 816 | |
| 817 | def split_commas(s): |
| 818 | nesting = 0 |
| 819 | part_start = 0 |
| 820 | parts = [] |
| 821 | for i, c in enumerate(s): |
| 822 | if c == '(': |
| 823 | nesting += 1 |
| 824 | elif c == ')': |
| 825 | nesting -= 1 |
| 826 | elif c == ',' and nesting == 0: |
| 827 | parts.append(s[part_start:i].strip()) |
| 828 | part_start = i + 1 |
| 829 | parts.append(s[part_start:].strip()) |
| 830 | return parts |
| 831 | |
| 832 | # |
| 833 | # For a given macro call, pick apart the arguments and return an object |
no test coverage detected