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

Method visit_CreateMessage

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

Source from the content-addressed store, hash-verified

886 }
887
888 fn visit_CreateMessage(&mut self, ctx: &CreateMessageContext<'_>) -> Self::Return {
889 let mut message_name = String::new();
890 for id in &ctx.ids {
891 if !message_name.is_empty() {
892 message_name.push('.');
893 }
894 message_name.push_str(id.get_text());
895 }
896 if ctx.leadingDot.is_some() {
897 message_name = format!(".{message_name}");
898 }
899 let op_id = match &ctx.op {
900 None => {
901 self.report_error::<ParseError, _>(&ctx.start(), None, "No `CommonToken`!");
902 return IdedExpr::default();
903 }
904 Some(op) => self.helper.next_id(op.as_ref()),
905 };
906 let entries = match &ctx.entries {
907 None => vec![],
908 Some(entries) => self.field_initializer_list(entries),
909 };
910 IdedExpr {
911 id: op_id,
912 expr: Expr::Struct(StructExpr {
913 type_name: message_name,
914 entries,
915 }),
916 }
917 }
918
919 fn visit_ConstantLiteral(&mut self, ctx: &ConstantLiteralContext<'_>) -> Self::Return {
920 if let Some(literal) = ctx.literal().as_deref() {

Callers

nothing calls this directly

Calls 5

StructClass · 0.85
pushMethod · 0.80
startMethod · 0.80
next_idMethod · 0.80

Tested by

no test coverage detected