Clean up code gen a bit
This commit is contained in:
parent
8a9bbb8c83
commit
ddbb06f21d
@ -246,14 +246,6 @@ impl ToTokens for RumaEvent {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let set_up_struct_serializer = quote! {
|
|
||||||
let mut len = #base_field_count;
|
|
||||||
|
|
||||||
#(#increment_struct_len_statements)*
|
|
||||||
|
|
||||||
let mut state = serializer.serialize_struct(#name_str, len)?;
|
|
||||||
};
|
|
||||||
|
|
||||||
let impl_room_event = match self.kind {
|
let impl_room_event = match self.kind {
|
||||||
EventKind::RoomEvent | EventKind::StateEvent => {
|
EventKind::RoomEvent | EventKind::StateEvent => {
|
||||||
quote! {
|
quote! {
|
||||||
@ -368,16 +360,20 @@ impl ToTokens for RumaEvent {
|
|||||||
|
|
||||||
#impl_event_result_compatible_for_content
|
#impl_event_result_compatible_for_content
|
||||||
|
|
||||||
use serde::ser::SerializeStruct as _;
|
|
||||||
|
|
||||||
impl serde::Serialize for #name {
|
impl serde::Serialize for #name {
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where
|
where
|
||||||
S: serde::Serializer
|
S: serde::Serializer
|
||||||
{
|
{
|
||||||
|
use serde::ser::SerializeStruct as _;
|
||||||
|
|
||||||
#import_event_in_serialize_impl
|
#import_event_in_serialize_impl
|
||||||
|
|
||||||
#set_up_struct_serializer
|
let mut len = #base_field_count;
|
||||||
|
|
||||||
|
#(#increment_struct_len_statements)*
|
||||||
|
|
||||||
|
let mut state = serializer.serialize_struct(#name_str, len)?;
|
||||||
|
|
||||||
#(#serialize_field_calls)*
|
#(#serialize_field_calls)*
|
||||||
#manually_serialize_type_field
|
#manually_serialize_type_field
|
||||||
|
@ -8,6 +8,7 @@ use std::{
|
|||||||
use ruma_events_macros::ruma_event;
|
use ruma_events_macros::ruma_event;
|
||||||
use serde::{
|
use serde::{
|
||||||
de::{Error, Visitor},
|
de::{Error, Visitor},
|
||||||
|
ser::SerializeStruct as _,
|
||||||
Deserialize, Deserializer, Serialize, Serializer,
|
Deserialize, Deserializer, Serialize, Serializer,
|
||||||
};
|
};
|
||||||
use serde_json::{from_value, Value};
|
use serde_json::{from_value, Value};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user