(atom)
| 58585 | } |
| 58586 | |
| 58587 | function parseHelperClassRanges(atom) { |
| 58588 | var from, to, res; |
| 58589 | if (current('-') && !next(']')) { |
| 58590 | // ClassAtom - ClassAtom ClassRanges |
| 58591 | skip('-'); |
| 58592 | |
| 58593 | res = parseClassAtom(); |
| 58594 | if (!res) { |
| 58595 | bail('classAtom'); |
| 58596 | } |
| 58597 | to = pos; |
| 58598 | var classRanges = parseClassRanges(); |
| 58599 | if (!classRanges) { |
| 58600 | bail('classRanges'); |
| 58601 | } |
| 58602 | from = atom.range[0]; |
| 58603 | if (classRanges.type === 'empty') { |
| 58604 | return [createClassRange(atom, res, from, to)]; |
| 58605 | } |
| 58606 | return [createClassRange(atom, res, from, to)].concat(classRanges); |
| 58607 | } |
| 58608 | |
| 58609 | res = parseNonemptyClassRangesNoDash(); |
| 58610 | if (!res) { |
| 58611 | bail('nonEmptyClassRangesNoDash'); |
| 58612 | } |
| 58613 | |
| 58614 | return [atom].concat(res); |
| 58615 | } |
| 58616 | |
| 58617 | function parseNonemptyClassRanges() { |
| 58618 | // NonemptyClassRanges :: |
no test coverage detected