Skip to content

Commit

Permalink
Run rustfmt
Browse files Browse the repository at this point in the history
  • Loading branch information
TedDriggs committed May 10, 2018
1 parent 8a184bc commit 6cd5db7
Show file tree
Hide file tree
Showing 54 changed files with 608 additions and 401 deletions.
4 changes: 2 additions & 2 deletions core/src/codegen/default_expr.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn::{Ident, Path};

/// This will be in scope during struct initialization after option parsing.
Expand Down Expand Up @@ -26,7 +26,7 @@ impl<'a> ToTokens for DefaultExpression<'a> {
DefaultExpression::Inherit(ident) => {
let dsn = Ident::new(DEFAULT_STRUCT_NAME, ::proc_macro2::Span::call_site());
quote!(#dsn.#ident)
},
}
DefaultExpression::Explicit(path) => quote!(#path()),
DefaultExpression::Trait => quote!(::darling::export::Default::default()),
});
Expand Down
12 changes: 5 additions & 7 deletions core/src/codegen/error.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};

/// Declares the local variable into which errors will be accumulated.
pub struct ErrorDeclaration {
__hidden: ()
__hidden: (),
}

impl ErrorDeclaration {
pub fn new() -> Self {
ErrorDeclaration {
__hidden: ()
}
ErrorDeclaration { __hidden: () }
}
}

Expand All @@ -24,14 +22,14 @@ impl ToTokens for ErrorDeclaration {
/// Returns early if attribute or body parsing has caused any errors.
pub struct ErrorCheck<'a> {
location: Option<&'a str>,
__hidden: ()
__hidden: (),
}

impl<'a> ErrorCheck<'a> {
pub fn new() -> Self {
ErrorCheck {
location: None,
__hidden: ()
__hidden: (),
}
}

Expand Down
2 changes: 1 addition & 1 deletion core/src/codegen/field.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn::{Ident, Path, Type};

use codegen::DefaultExpression;
Expand Down
19 changes: 13 additions & 6 deletions core/src/codegen/fmi_impl.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn;

use ast::{Data, Style, Fields};
use codegen::{Field, TraitImpl, OuterFromImpl, Variant};
use ast::{Data, Fields, Style};
use codegen::{Field, OuterFromImpl, TraitImpl, Variant};

pub struct FmiImpl<'a> {
pub base: TraitImpl<'a>,
Expand All @@ -24,15 +24,23 @@ impl<'a> ToTokens for FmiImpl<'a> {
}

// Newtype structs proxy to the sole value they contain.
Data::Struct(Fields { ref fields, style: Style::Tuple, .. }) if fields.len() == 1 => {
Data::Struct(Fields {
ref fields,
style: Style::Tuple,
..
}) if fields.len() == 1 =>
{
let ty_ident = base.ident;
quote!(
fn from_meta_item(__item: &::syn::Meta) -> ::darling::Result<Self> {
Ok(#ty_ident(::darling::FromMetaItem::from_meta_item(__item)?))
}
)
}
Data::Struct(Fields { style: Style::Tuple, .. }) => {
Data::Struct(Fields {
style: Style::Tuple,
..
}) => {
panic!("Multi-field tuples are not supported");
}
Data::Struct(ref data) => {
Expand All @@ -45,7 +53,6 @@ impl<'a> ToTokens for FmiImpl<'a> {
let default = base.fallback_decl();
let map = base.map_fn();


quote!(
fn from_list(__items: &[::syn::NestedMeta]) -> ::darling::Result<Self> {

Expand Down
82 changes: 48 additions & 34 deletions core/src/codegen/from_derive_impl.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn::{self, Ident};

use ast::Data;
use codegen::{TraitImpl, ExtractAttribute, OuterFromImpl};
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::{ForwardAttrs, Shape};

pub struct FromDeriveInputImpl<'a> {
Expand All @@ -26,27 +26,38 @@ impl<'a> ToTokens for FromDeriveInputImpl<'a> {

if let Data::Struct(ref data) = self.base.data {
if data.is_newtype() {
self.wrap(quote!{
fn from_derive_input(#input: &::syn::DeriveInput) -> ::darling::Result<Self> {
::darling::export::Ok(
#ty_ident(::darling::FromDeriveInput::from_derive_input(#input)?)
) #map
}
}, tokens);
self.wrap(
quote!{
fn from_derive_input(#input: &::syn::DeriveInput) -> ::darling::Result<Self> {
::darling::export::Ok(
#ty_ident(::darling::FromDeriveInput::from_derive_input(#input)?)
) #map
}
},
tokens,
);

return;
}
}

let passed_ident = self.ident.as_ref().map(|i| quote!(#i: #input.ident.clone(),));
let passed_ident = self.ident
.as_ref()
.map(|i| quote!(#i: #input.ident.clone(),));
let passed_vis = self.vis.as_ref().map(|i| quote!(#i: #input.vis.clone(),));
let passed_generics = self.generics.as_ref().map(|i| quote!(#i: ::darling::FromGenerics::from_generics(&#input.generics)?,));
let passed_generics = self.generics
.as_ref()
.map(|i| quote!(#i: ::darling::FromGenerics::from_generics(&#input.generics)?,));
let passed_attrs = self.attrs.as_ref().map(|i| quote!(#i: __fwd_attrs,));
let passed_body = self.data.as_ref().map(|i| quote!(#i: ::darling::ast::Data::try_from(&#input.data)?,));

let supports = self.supports.map(|i| quote!{
#i
__validate_body(&#input.data)?;
let passed_body = self.data
.as_ref()
.map(|i| quote!(#i: ::darling::ast::Data::try_from(&#input.data)?,));

let supports = self.supports.map(|i| {
quote!{
#i
__validate_body(&#input.data)?;
}
});

let inits = self.base.initializers();
Expand All @@ -62,30 +73,33 @@ impl<'a> ToTokens for FromDeriveInputImpl<'a> {
let require_fields = self.base.require_fields();
let check_errors = self.base.check_errors();

self.wrap(quote! {
fn from_derive_input(#input: &::syn::DeriveInput) -> ::darling::Result<Self> {
#declare_errors
self.wrap(
quote! {
fn from_derive_input(#input: &::syn::DeriveInput) -> ::darling::Result<Self> {
#declare_errors

#grab_attrs
#grab_attrs

#supports
#supports

#require_fields
#require_fields

#check_errors
#check_errors

#default
#default

::darling::export::Ok(#ty_ident {
#passed_ident
#passed_generics
#passed_vis
#passed_attrs
#passed_body
#inits
}) #map
}
}, tokens);
::darling::export::Ok(#ty_ident {
#passed_ident
#passed_generics
#passed_vis
#passed_attrs
#passed_body
#inits
}) #map
}
},
tokens,
);
}
}

Expand Down
45 changes: 25 additions & 20 deletions core/src/codegen/from_field.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn::{self, Ident};

use codegen::{TraitImpl, ExtractAttribute, OuterFromImpl};
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::ForwardAttrs;

/// `impl FromField` generator. This is used for parsing an individual
Expand Down Expand Up @@ -33,7 +33,9 @@ impl<'a> ToTokens for FromFieldImpl<'a> {
self.base.fallback_decl()
};

let passed_ident = self.ident.as_ref().map(|i| quote!(#i: #input.ident.clone(),));
let passed_ident = self.ident
.as_ref()
.map(|i| quote!(#i: #input.ident.clone(),));
let passed_vis = self.vis.as_ref().map(|i| quote!(#i: #input.vis.clone(),));
let passed_ty = self.ty.as_ref().map(|i| quote!(#i: #input.ty.clone(),));
let passed_attrs = self.attrs.as_ref().map(|i| quote!(#i: __fwd_attrs,));
Expand All @@ -42,28 +44,31 @@ impl<'a> ToTokens for FromFieldImpl<'a> {
let grab_attrs = self.extractor();
let map = self.base.map_fn();

self.wrap(quote!{
fn from_field(#input: &::syn::Field) -> ::darling::Result<Self> {
#error_declaration
self.wrap(
quote!{
fn from_field(#input: &::syn::Field) -> ::darling::Result<Self> {
#error_declaration

#grab_attrs
#grab_attrs

#require_fields
#require_fields

#error_check
#error_check

#default
#default

::darling::export::Ok(Self {
#passed_ident
#passed_ty
#passed_vis
#passed_attrs
#initializers
}) #map
::darling::export::Ok(Self {
#passed_ident
#passed_ty
#passed_vis
#passed_attrs
#initializers
}) #map

}
}, tokens);
}
},
tokens,
);
}
}

Expand Down Expand Up @@ -105,4 +110,4 @@ impl<'a> OuterFromImpl<'a> for FromFieldImpl<'a> {
fn base(&'a self) -> &'a TraitImpl<'a> {
&self.base
}
}
}
49 changes: 29 additions & 20 deletions core/src/codegen/from_type_param.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use quote::{Tokens, ToTokens};
use quote::{ToTokens, Tokens};
use syn::{self, Ident};

use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
Expand Down Expand Up @@ -30,35 +30,44 @@ impl<'a> ToTokens for FromTypeParamImpl<'a> {
self.base.fallback_decl()
};

let passed_ident = self.ident.as_ref().map(|i| quote!(#i: #input.ident.clone(),));
let passed_ident = self.ident
.as_ref()
.map(|i| quote!(#i: #input.ident.clone(),));
let passed_attrs = self.attrs.as_ref().map(|i| quote!(#i: __fwd_attrs,));
let passed_bounds = self.bounds.as_ref().map(|i| quote!(#i: #input.bounds.clone().into_iter().collect::<Vec<_>>(),));
let passed_default = self.default.as_ref().map(|i| quote!(#i: #input.default.clone(),));
let passed_bounds = self.bounds
.as_ref()
.map(|i| quote!(#i: #input.bounds.clone().into_iter().collect::<Vec<_>>(),));
let passed_default = self.default
.as_ref()
.map(|i| quote!(#i: #input.default.clone(),));
let initializers = self.base.initializers();

let map = self.base.map_fn();

self.wrap(quote! {
fn from_type_param(#input: &::syn::TypeParam) -> ::darling::Result<Self> {
#error_declaration
self.wrap(
quote! {
fn from_type_param(#input: &::syn::TypeParam) -> ::darling::Result<Self> {
#error_declaration

#grab_attrs
#grab_attrs

#require_fields
#require_fields

#error_check
#error_check

#default
#default

::darling::export::Ok(Self {
#passed_ident
#passed_bounds
#passed_default
#passed_attrs
#initializers
}) #map
}
}, tokens);
::darling::export::Ok(Self {
#passed_ident
#passed_bounds
#passed_default
#passed_attrs
#initializers
}) #map
}
},
tokens,
);
}
}

Expand Down
Loading

0 comments on commit 6cd5db7

Please sign in to comment.