(&mut self, ctx: &CreateMessageContext<'_>)
| 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() { |
nothing calls this directly
no test coverage detected