aboutsummaryrefslogtreecommitdiffstats
path: root/components/style_derive/lib.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2017-05-21 01:04:00 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2017-05-21 15:31:17 +0200
commit07c0456cfd5a2be826d49be3accffe12ac692971 (patch)
treeb3b2ae4d17a1d0e1b275641b8c864ff09d5ffea2 /components/style_derive/lib.rs
parenta99e73ba6bc1c35f34564adf42a8a4af156b04e3 (diff)
downloadservo-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.rs7
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()
+}