diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2017-05-21 01:04:00 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2017-05-21 15:31:17 +0200 |
commit | 07c0456cfd5a2be826d49be3accffe12ac692971 (patch) | |
tree | b3b2ae4d17a1d0e1b275641b8c864ff09d5ffea2 /components/style_derive/lib.rs | |
parent | a99e73ba6bc1c35f34564adf42a8a4af156b04e3 (diff) | |
download | servo-07c0456cfd5a2be826d49be3accffe12ac692971.tar.gz servo-07c0456cfd5a2be826d49be3accffe12ac692971.zip |
Derive ToComputedValue
For now, only impls for types like in style::values::generics can be derived.
This also needed a few ToComputedValueAsSpecified impls that I would like to
replace by some #[to_computed_value(clone)] attribute, but I think it is ok
to keep it like this for now.
Diffstat (limited to 'components/style_derive/lib.rs')
-rw-r--r-- | components/style_derive/lib.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/components/style_derive/lib.rs b/components/style_derive/lib.rs index fd47a962ce9..7f4743dccd7 100644 --- a/components/style_derive/lib.rs +++ b/components/style_derive/lib.rs @@ -10,9 +10,16 @@ extern crate synstructure; use proc_macro::TokenStream; mod has_viewport_percentage; +mod to_computed_value; #[proc_macro_derive(HasViewportPercentage)] pub fn derive_has_viewport_percentage(stream: TokenStream) -> TokenStream { let input = syn::parse_derive_input(&stream.to_string()).unwrap(); has_viewport_percentage::derive(input).to_string().parse().unwrap() } + +#[proc_macro_derive(ToComputedValue)] +pub fn derive_to_computed_value(stream: TokenStream) -> TokenStream { + let input = syn::parse_derive_input(&stream.to_string()).unwrap(); + to_computed_value::derive(input).to_string().parse().unwrap() +} |