MCPcopy Create free account
hub / github.com/cel-rust/cel-rust / visit_MemberCall

Method visit_MemberCall

cel/src/parser/parser.rs:718–737  ·  view source on GitHub ↗
(&mut self, ctx: &MemberCallContext<'_>)

Source from the content-addressed store, hash-verified

716 }
717
718 fn visit_MemberCall(&mut self, ctx: &MemberCallContext<'_>) -> Self::Return {
719 if let (Some(operand), Some(id), Some(open)) = (&ctx.member(), &ctx.id, &ctx.open) {
720 let operand = self.visit(operand.as_ref());
721 let id = id.get_text();
722 let op_id = self.helper.next_id(open.as_ref());
723 let args = ctx
724 .args
725 .iter()
726 .flat_map(|arg| &arg.e)
727 .map(|arg| self.visit(arg.deref()))
728 .collect::<Vec<IdedExpr>>();
729 self.receiver_call_or_macro(op_id, id.to_string(), operand, args)
730 } else {
731 self.report_error::<ParseError, _>(
732 &ctx.start(),
733 None,
734 "Incomplete `MemberCallContext`!",
735 )
736 }
737 }
738
739 fn visit_Select(&mut self, ctx: &SelectContext<'_>) -> Self::Return {
740 if let (Some(member), Some(id), Some(op)) = (&ctx.member(), &ctx.id, &ctx.op) {

Callers

nothing calls this directly

Calls 8

visitMethod · 0.80
next_idMethod · 0.80
mapMethod · 0.80
startMethod · 0.80
memberMethod · 0.45
iterMethod · 0.45
derefMethod · 0.45

Tested by

no test coverage detected