FIELD_ASSIGN_RE: /(\w+)\s*(?:->|\.)\s*(\w+)\s*=\s*(\w+)\s*(?:->|\.)\s*(\w+)/g Pairs collected as `lfield\0rfield`. Every byte position is a candidate start (JS advances one unit on failure — suffix starts included); matches resume at their end.
(s: &[u8], out: &mut Vec<String>)
| 766 | /// Pairs collected as `lfield\0rfield`. Every byte position is a candidate |
| 767 | /// start (JS advances one unit on failure — suffix starts included); matches |
| 768 | /// resume at their end. |
| 769 | fn scan_field_assign(s: &[u8], out: &mut Vec<String>) { |
| 770 | let mut pos = 0usize; |
| 771 | while pos < s.len() { |
| 772 | if !is_word(s[pos]) { |
| 773 | pos += 1; |
| 774 | continue; |
| 775 | } |
| 776 | match field_assign_at(s, pos) { |
| 777 | Some((lf, rf, end)) => { |
| 778 | let mut pair = bytes_to_string(&s[lf.0..lf.1]); |
| 779 | pair.push('\0'); |
| 780 | pair.push_str(&bytes_to_string(&s[rf.0..rf.1])); |
| 781 | out.push(pair); |
| 782 | pos = end; |
| 783 | } |
| 784 | None => pos += 1, |
| 785 | } |
| 786 | } |
| 787 | } |
| 788 | |
| 789 | #[inline] |
no test coverage detected