aboutsummaryrefslogtreecommitdiff
path: root/derive/src
diff options
context:
space:
mode:
Diffstat (limited to 'derive/src')
-rw-r--r--derive/src/lib.rs5
-rw-r--r--derive/src/network/mod.rs94
2 files changed, 0 insertions, 99 deletions
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)