diff options
author | Xidorn Quan <me@upsuper.org> | 2018-04-18 19:39:51 +1000 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2018-04-28 10:26:02 +0200 |
commit | cfffff33a0aae25488c3f80f36c19772557608f3 (patch) | |
tree | 65a122a22688f7412a4a94ac7b47180681f27fb0 /components/style/build_gecko.rs | |
parent | 84d6c138712f37f984e3a96569a2d9b1292ec962 (diff) | |
download | servo-cfffff33a0aae25488c3f80f36c19772557608f3.tar.gz servo-cfffff33a0aae25488c3f80f36c19772557608f3.zip |
style: Generate nsCSSPropertyID.h from data file directly.
Bug: 1454831
Reviewed-by: emilio
MozReview-Commit-ID: CcX2uzgjWFo
Diffstat (limited to 'components/style/build_gecko.rs')
-rw-r--r-- | components/style/build_gecko.rs | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index 2d1db9e7037..b5dd2ed4126 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -33,8 +33,7 @@ mod common { #[cfg(feature = "bindgen")] mod bindings { use bindgen::{Builder, CodegenConfig}; - use bindgen::callbacks::{EnumVariantCustomBehavior, EnumVariantValue, ParseCallbacks}; - use regex::{Regex, RegexSet}; + use regex::Regex; use std::cmp; use std::collections::{HashMap, HashSet}; use std::env; @@ -416,27 +415,6 @@ mod bindings { } fn generate_structs() { - #[derive(Debug)] - struct Callbacks(HashMap<String, RegexSet>); - impl ParseCallbacks for Callbacks { - fn enum_variant_behavior( - &self, - enum_name: Option<&str>, - variant_name: &str, - _variant_value: EnumVariantValue, - ) -> Option<EnumVariantCustomBehavior> { - enum_name - .and_then(|enum_name| self.0.get(enum_name)) - .and_then(|regex| { - if regex.is_match(variant_name) { - Some(EnumVariantCustomBehavior::Constify) - } else { - None - } - }) - } - } - let builder = Builder::get_initial_builder() .enable_cxx_namespaces() .with_codegen_config(CodegenConfig { @@ -452,21 +430,6 @@ mod bindings { .handle_str_items("whitelist-vars", |b, item| b.whitelist_var(item)) .handle_str_items("whitelist-types", |b, item| b.whitelist_type(item)) .handle_str_items("opaque-types", |b, item| b.opaque_type(item)) - .handle_list("constified-enum-variants", |builder, iter| { - let mut map = HashMap::new(); - for item in iter { - let item = item.as_table().unwrap(); - let name = item["enum"].as_str().unwrap(); - let variants = item["variants"] - .as_array() - .unwrap() - .as_slice() - .iter() - .map(|item| item.as_str().unwrap()); - map.insert(name.into(), RegexSet::new(variants).unwrap()); - } - builder.parse_callbacks(Box::new(Callbacks(map))) - }) .handle_table_items("mapped-generic-types", |builder, item| { let generic = item["generic"].as_bool().unwrap(); let gecko = item["gecko"].as_str().unwrap(); |