MCPcopy Create free account
hub / github.com/PLSysSec/wave / parse_conjunction

Method parse_conjunction

tools/fuzz-gen/src/specifications/preparser.rs:171–183  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

169 }
170 }
171 fn parse_conjunction(&mut self) -> syn::Result<AssertionWithoutId> {
172 let mut conjuncts = vec![self.parse_entailment()?];
173 while self.consume_operator("&&") {
174 conjuncts.push(self.parse_entailment()?);
175 }
176 if conjuncts.len() == 1 {
177 Ok(conjuncts.pop().unwrap())
178 } else {
179 Ok(AssertionWithoutId {
180 kind: Box::new(common::AssertionKind::And(conjuncts))
181 })
182 }
183 }
184 fn parse_entailment(&mut self) -> syn::Result<AssertionWithoutId> {
185 if (self.peek_group(Delimiter::Parenthesis) && !self.is_part_of_rust_expr()) ||
186 self.peek_keyword("forall") ||

Callers 1

parse_prustiMethod · 0.80

Calls 5

consume_operatorMethod · 0.80
parse_entailmentMethod · 0.80
pushMethod · 0.45
lenMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected