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

Function field_assign_at

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

Source from the content-addressed store, hash-verified

799
800type Range = (usize, usize);
801
802fn field_assign_at(s: &[u8], p: usize) -> Option<(Range, Range, usize)> {
803 let w1 = word_end(s, p);
804 let a1 = arrow_at(s, skip_jsws(s, w1))?;
805 let f1s = skip_jsws(s, a1);
806 if !is_word_at(s, f1s) {
807 return None;
808 }
809 let f1e = word_end(s, f1s);
810 let eq = skip_jsws(s, f1e);
811 if s.get(eq) != Some(&b'=') {
812 return None;
813 }
814 let r1s = skip_jsws(s, eq + 1);
815 if !is_word_at(s, r1s) {
816 return None;
817 }
818 let r1e = word_end(s, r1s);
819 let a2 = arrow_at(s, skip_jsws(s, r1e))?;
820 let f2s = skip_jsws(s, a2);
821 if !is_word_at(s, f2s) {
822 return None;
823 }
824 let f2e = word_end(s, f2s);
825 Some(((f1s, f1e), (f2s, f2e), f2e))
826}
827
828/// 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