MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / field_assign_at

Function field_assign_at

codegraph-kernel/src/cfnptr.rs:819–843  ·  view source on GitHub ↗
(s: &[u8], p: usize)

Source from the content-addressed store, hash-verified

817
818type Range = (usize, usize);
819
820fn field_assign_at(s: &[u8], p: usize) -> Option<(Range, Range, usize)> {
821 let w1 = word_end(s, p);
822 let a1 = arrow_at(s, skip_jsws(s, w1))?;
823 let f1s = skip_jsws(s, a1);
824 if !is_word_at(s, f1s) {
825 return None;
826 }
827 let f1e = word_end(s, f1s);
828 let eq = skip_jsws(s, f1e);
829 if s.get(eq) != Some(&b'=') {
830 return None;
831 }
832 let r1s = skip_jsws(s, eq + 1);
833 if !is_word_at(s, r1s) {
834 return None;
835 }
836 let r1e = word_end(s, r1s);
837 let a2 = arrow_at(s, skip_jsws(s, r1e))?;
838 let f2s = skip_jsws(s, a2);
839 if !is_word_at(s, f2s) {
840 return None;
841 }
842 let f2e = word_end(s, f2s);
843 Some(((f1s, f1e), (f2s, f2e), f2e))
844}
845
846/// DISPATCH_RE: /((?:\w+(?:\s*\[[^\][]*\])?\s*(?:->|\.)\s*)+)(\w+)\s*\)?\s*\(/g

Callers 1

scan_field_assignFunction · 0.85

Calls 5

word_endFunction · 0.85
arrow_atFunction · 0.85
skip_jswsFunction · 0.85
is_word_atFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected