From 306bd365447ef4be383400a506cd2d9c9a7f8888 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Fri, 1 Oct 2021 18:19:44 +0200 Subject: remove replaced "Network" derive macro --- derive/src/lib.rs | 5 --- derive/src/network/mod.rs | 94 ----------------------------------------------- 2 files changed, 99 deletions(-) (limited to 'derive/src') diff --git a/derive/src/lib.rs b/derive/src/lib.rs index 1b95091..f3608eb 100644 --- a/derive/src/lib.rs +++ b/derive/src/lib.rs @@ -3,11 +3,6 @@ use syn; mod from; mod network; -#[proc_macro_derive(Network, attributes(network))] -pub fn network(input: proc_macro::TokenStream) -> proc_macro::TokenStream { - network::network(input) -} - #[proc_macro_derive(NetworkList, attributes(network))] pub fn network_list(input: proc_macro::TokenStream) -> proc_macro::TokenStream { network::network_list(input) diff --git a/derive/src/network/mod.rs b/derive/src/network/mod.rs index 15f2d18..61af9c4 100644 --- a/derive/src/network/mod.rs +++ b/derive/src/network/mod.rs @@ -182,100 +182,6 @@ pub fn network_list(input: proc_macro::TokenStream) -> proc_macro::TokenStream { gen.into() } -pub fn network(input: proc_macro::TokenStream) -> proc_macro::TokenStream { - let input = parse_macro_input!(input as syn::DeriveInput); - // println!("{:#?}", input); - - let network = Network::from_derive_input(&input).unwrap(); - // println!("{:#?}", network); - - let fields = parse_fields(&input); - - // println!("{:#?}", fields); - - let name = &input.ident; - - let to_network_impl_center = match network.repr { - // Repr::Aos => {} - Repr::Map => map::to(&fields), - Repr::Maplist => maplist::to(&fields), - Repr::List => list::to(&fields), - }; - - let from_network_impl_center = match network.repr { - // Repr::Aos => {} - Repr::Map => map::from(&fields), - Repr::Maplist => maplist::from(&fields), - Repr::List => list::from(&fields), - }; - - let network_impl_item = match network.repr { - Repr::Map => quote! {libquassel::primitive::VariantMap;}, - Repr::Maplist => quote! {libquassel::primitive::VariantMap;}, - Repr::List => quote! {libquassel::primitive::VariantList;}, - }; - - let mut gen = quote! { - impl libquassel::message::signalproxy::Network for #name { - type Item = #network_impl_item - - fn to_network(&self) -> Self::Item { - let mut res = Self::Item::new(); - - #(#to_network_impl_center)* - - return res; - } - - fn from_network(input: &mut Self::Item) -> Self { - Self { - #(#from_network_impl_center)* - } - } - } - }; - - if let Repr::Maplist | Repr::Map = network.repr { - let network_impl_item_vec = match network.repr { - Repr::Map => quote! {libquassel::primitive::VariantList;}, - Repr::Maplist => quote! {libquassel::primitive::VariantMap;}, - Repr::List => quote! {libquassel::primitive::VariantList;}, - }; - - let to_network_impl_vec_center = match network.repr { - Repr::Maplist => maplist::to_vec(name, &fields), - Repr::Map => map::to_vec(name, &fields, false), - _ => unimplemented!(), - }; - - let from_network_impl_vec_center = match network.repr { - Repr::Maplist => maplist::from_vec(name, &fields, false), - Repr::Map => map::from_vec(name, &fields, false), - _ => unimplemented!(), - }; - - let vec = quote! { - impl libquassel::message::signalproxy::Network for Vec<#name> { - type Item = #network_impl_item_vec - - fn to_network(&self) -> Self::Item { - #to_network_impl_vec_center - } - - fn from_network(input: &mut Self::Item) -> Self { - #from_network_impl_vec_center - } - } - }; - - gen.extend(vec); - } - - // println!("{}", gen); - - gen.into() -} - fn get_field_type(field: &NetworkField) -> syn::Type { if let Some(override_type) = &field.override_type { gen_type(override_type) -- cgit v1.2.3 info.rs?h=feature/example/statetracker&id=eb68ef3cde4515358827952c62a2eb2c0944536c&follow=1'>rename override_type to typeMax Audron-7/+7 2021-08-17WIPMax Audron-10/+17 2021-07-31fix trailing semicolon match_variant macroMax Audron-1/+1 2021-07-31add doc for network translationMax Audron-0/+93 2021-07-25add Traits for syncable objectsMax Audron-48/+114 2021-07-21cleanup objects::TypesMax Audron-5/+35 2021-07-21add IgnoreListManagerMax Audron-0/+165 2021-07-21add cert-managerMax Audron-0/+32 2021-07-21add BufferViewManager and BufferViewConfigMax Audron-0/+95 2021-07-21migrate BufferSyncer to use Network derive and add to central TypesMax Audron-143/+22 2021-07-21rewrite network derive to work more consistentlyMax Audron-78/+90 2021-07-21fix wrong capitalization for HighlightRuleListMax Audron-2/+2 2021-07-21implement the Network trait generically for all inner Variant TypesMax Audron-1/+66 2021-07-21change IRC MessageType to be a bitflag instead of enumMax Audron-54/+94 2021-07-21fix network objectMax Audron-18/+24 2021-07-21minor docs and cleanupMax Audron-4/+8 2021-04-05WIP: impl more signalproxy objectsMax Audron-1000/+1621 2021-03-09WIP: impl signalproxy typesMax Audron-253/+376 2021-01-21add to and from network deriveMax Audron-42/+2767 2021-01-21reorganize tests and add quassel featuresMax Audron-551/+850 2021-01-04add example program: quasselproxyclientMax Audron-0/+280 2021-01-04random stuffMax Audron-2/+9 2021-01-04add more signalproxy objectsMax Audron-40/+120 2021-01-04add message parsing feature flagsMax Audron-43/+96 2021-01-04fix parsing of datetime when value is -1Max Audron-1/+9 2021-01-02update dependenciesMax Audron-267/+27 2021-01-02rework handshakemessage parsingMax Audron-141/+278 2020-10-16updateMax Audron-1553/+294 2020-10-16update paperworkMax Audron-487/+391