diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 44 | ||||
-rw-r--r-- | components/script/dom/bindings/mod.rs | 31 | ||||
-rw-r--r-- | components/script/dom/mod.rs | 5 | ||||
-rw-r--r-- | components/script/makefile.cargo | 22 |
4 files changed, 62 insertions, 40 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 78d8b2f7f6f..aa1b1ae14d3 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1429,25 +1429,26 @@ class CGImports(CGWrapper): """ Generates the appropriate import/use statements. """ - def __init__(self, child, descriptors, callbacks, imports): + def __init__(self, child, descriptors, callbacks, imports, ignored_warnings=None): """ Adds a set of imports. """ - ignored_warnings = [ - # Allow unreachable_code because we use 'break' in a way that - # sometimes produces two 'break's in a row. See for example - # CallbackMember.getArgConversions. - 'unreachable_code', - 'non_camel_case_types', - 'non_upper_case_globals', - 'unused_parens', - 'unused_imports', - 'unused_variables', - 'unused_unsafe', - 'unused_mut', - 'unused_assignments', - 'dead_code', - ] + if ignored_warnings is None: + ignored_warnings = [ + # Allow unreachable_code because we use 'break' in a way that + # sometimes produces two 'break's in a row. See for example + # CallbackMember.getArgConversions. + 'unreachable_code', + 'non_camel_case_types', + 'non_upper_case_globals', + 'unused_parens', + 'unused_imports', + 'unused_variables', + 'unused_unsafe', + 'unused_mut', + 'unused_assignments', + 'dead_code', + ] def componentTypes(type): if type.nullable(): @@ -1496,7 +1497,9 @@ class CGImports(CGWrapper): imports += ['dom::types::%s' % getIdentifier(t).name for t in types if isImportable(t)] - statements = ['#![allow(%s)]' % ','.join(ignored_warnings)] + statements = [] + if len(ignored_warnings) > 0: + statements.append('#![allow(%s)]' % ','.join(ignored_warnings)) statements.extend('use %s;' % i for i in sorted(set(imports))) CGWrapper.__init__(self, child, @@ -1815,7 +1818,7 @@ def UnionTypes(descriptors, dictionaries, callbacks, config): CGUnionConversionStruct(t, provider) ]) - return CGImports(CGList(SortedDictValues(unionStructs), "\n\n"), [], [], imports) + return CGImports(CGList(SortedDictValues(unionStructs), "\n\n"), [], [], imports, ignored_warnings=[]) class Argument(): @@ -5415,7 +5418,7 @@ class GlobalGenRoots(): 'js::jsapi::JSContext', 'js::jsapi::JSObject', 'libc', - ]) + ], ignored_warnings=[]) @staticmethod def InterfaceTypes(config): @@ -5438,8 +5441,7 @@ class GlobalGenRoots(): def InheritTypes(config): descriptors = config.getDescriptors(register=True, isCallback=False) - allprotos = [CGGeneric("#![allow(unused_imports)]\n"), - CGGeneric("use dom::types::*;\n"), + allprotos = [CGGeneric("use dom::types::*;\n"), CGGeneric("use dom::bindings::js::{JS, JSRef, LayoutJS, Rootable, Temporary};\n"), CGGeneric("use dom::bindings::trace::JSTraceable;\n"), CGGeneric("use dom::bindings::utils::Reflectable;\n"), diff --git a/components/script/dom/bindings/mod.rs b/components/script/dom/bindings/mod.rs index 82686d41c3f..283dc9b08c9 100644 --- a/components/script/dom/bindings/mod.rs +++ b/components/script/dom/bindings/mod.rs @@ -155,11 +155,30 @@ pub mod codegen { // FIXME(#5853) we shouldn't need to // allow moved_no_move here #[allow(unrooted_must_root, moved_no_move)] - pub mod Bindings; - pub mod InterfaceTypes; - pub mod InheritTypes; - pub mod PrototypeList; - pub mod RegisterBindings; - pub mod UnionTypes; + pub mod Bindings { + include!(concat!(env!("OUT_DIR"), "/Bindings/mod.rs")); + } + pub mod InterfaceTypes { + include!(concat!(env!("OUT_DIR"), "/InterfaceTypes.rs")); + } + #[allow(unused_imports)] + pub mod InheritTypes { + include!(concat!(env!("OUT_DIR"), "/InheritTypes.rs")); + } + pub mod PrototypeList { + include!(concat!(env!("OUT_DIR"), "/PrototypeList.rs")); + } + #[allow(unreachable_code, non_camel_case_types, non_upper_case_globals, unused_parens, + unused_imports, unused_variables, unused_unsafe, unused_mut, unused_assignments, + dead_code)] + pub mod RegisterBindings { + include!(concat!(env!("OUT_DIR"), "/RegisterBindings.rs")); + } + #[allow(unreachable_code, non_camel_case_types, non_upper_case_globals, unused_parens, + unused_imports, unused_variables, unused_unsafe, unused_mut, unused_assignments, + dead_code)] + pub mod UnionTypes { + include!(concat!(env!("OUT_DIR"), "/UnionTypes.rs")); + } } diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 813e7a09145..51ef5ca3c05 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -190,8 +190,9 @@ pub mod macros; pub mod bindings; -#[path="bindings/codegen/InterfaceTypes.rs"] -pub mod types; +pub mod types { + include!(concat!(env!("OUT_DIR"), "/InterfaceTypes.rs")); +} pub mod activation; pub mod attr; diff --git a/components/script/makefile.cargo b/components/script/makefile.cargo index 652bcab9000..2093e12f238 100644 --- a/components/script/makefile.cargo +++ b/components/script/makefile.cargo @@ -8,38 +8,38 @@ BINDINGS_SRC = $(shell pwd)/dom/bindings/codegen WEBIDLS_SRC = $(shell pwd)/dom/webidls WEBIDLS = $(call rwildcard,$(WEBIDLS_SRC),*.webidl) BINDINGS = $(patsubst %.webidl,%Binding.rs,$(WEBIDLS)) -AUTOGEN_SRC = $(foreach var,$(BINDINGS),$(subst $(WEBIDLS_SRC),$(BINDINGS_SRC)/Bindings,$(var))) +AUTOGEN_SRC = $(foreach var,$(BINDINGS),$(subst $(WEBIDLS_SRC),$(OUT_DIR)/Bindings,$(var))) -CACHE_DIR = $(BINDINGS_SRC)/_cache +CACHE_DIR = $(OUT_DIR)/_cache -bindinggen_dependencies := $(addprefix $(BINDINGS_SRC)/,BindingGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py ParserResults.pkl Bindings/.done) +bindinggen_dependencies := $(addprefix $(BINDINGS_SRC)/,BindingGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py) $(OUT_DIR)/ParserResults.pkl $(OUT_DIR)/Bindings/.done -globalgen_dependencies := $(addprefix $(BINDINGS_SRC)/,GlobalGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py) $(CACHE_DIR)/.done $(BINDINGS_SRC)/Bindings/.done +globalgen_dependencies := $(addprefix $(BINDINGS_SRC)/,GlobalGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py) $(CACHE_DIR)/.done $(OUT_DIR)/Bindings/.done .PHONY: all all: $(AUTOGEN_SRC) -$(BINDINGS_SRC)/Bindings/.done: - mkdir -p $(BINDINGS_SRC)/Bindings +$(OUT_DIR)/Bindings/.done: + mkdir -p $(OUT_DIR)/Bindings touch $@ $(CACHE_DIR)/.done: mkdir -p $(CACHE_DIR) touch $@ -$(BINDINGS_SRC)/ParserResults.pkl: $(globalgen_dependencies) $(WEBIDLS) +$(OUT_DIR)/ParserResults.pkl: $(globalgen_dependencies) $(WEBIDLS) $(PYTHON) $(BINDINGS_SRC)/pythonpath.py \ -I$(BINDINGS_SRC)/parser -I$(BINDINGS_SRC)/ply \ - -D$(BINDINGS_SRC) \ + -D$(OUT_DIR) \ $(BINDINGS_SRC)/GlobalGen.py $(BINDINGS_SRC)/Bindings.conf . \ --cachedir=$(CACHE_DIR) \ $(WEBIDLS) -$(AUTOGEN_SRC): $(BINDINGS_SRC)/Bindings/%Binding.rs: $(bindinggen_dependencies) \ - $(addprefix $(WEBIDLS_SRC)/,%.webidl) +$(AUTOGEN_SRC): $(OUT_DIR)/Bindings/%Binding.rs: $(bindinggen_dependencies) \ + $(addprefix $(WEBIDLS_SRC)/,%.webidl) $(PYTHON) $(BINDINGS_SRC)/pythonpath.py \ -I$(BINDINGS_SRC)/parser -I$(BINDINGS_SRC)/ply \ - -D$(BINDINGS_SRC) \ + -D$(OUT_DIR) \ $(BINDINGS_SRC)/BindingGen.py \ $(BINDINGS_SRC)/Bindings.conf Bindings/$*Binding $(addprefix $(WEBIDLS_SRC)/,$*.webidl) touch $@ |