MCPcopy Create free account
hub / github.com/dylan-sutton-chavez/edge-python / try_bound

Method try_bound

std/re/src/main/parser.rs:95–117  ·  view source on GitHub ↗

Parse a counted bound, restoring position when it is not one. */

(&mut self)

Source from the content-addressed store, hash-verified

93
94 /* Parse a counted bound, restoring position when it is not one. */
95 fn try_bound(&mut self) -> Result<Option<(usize, Option<usize>)>, ParseError> {
96 let save = self.pos;
97 self.bump(); // opening brace
98 let lo = self.read_int();
99 match self.peek() {
100 Some('}') => match lo {
101 Some(n) => { self.bump(); Ok(Some((n, Some(n)))) }
102 None => { self.pos = save; Ok(None) }
103 },
104 Some(',') => {
105 self.bump();
106 let hi = self.read_int();
107 if self.peek() == Some('}') {
108 self.bump();
109 Ok(Some((lo.unwrap_or(0), hi)))
110 } else {
111 self.pos = save;
112 Ok(None)
113 }
114 }
115 _ => { self.pos = save; Ok(None) }
116 }
117 }
118
119 fn read_int(&mut self) -> Option<usize> {
120 let start = self.pos;

Callers 1

quantifiedMethod · 0.80

Calls 3

bumpMethod · 0.80
read_intMethod · 0.80
peekMethod · 0.45

Tested by

no test coverage detected