diff options
author | Samson <16504129+sagudev@users.noreply.github.com> | 2023-09-30 14:30:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-30 12:30:12 +0000 |
commit | ddc47aa56b2c59911b7fec018d7ae89bf2a77bee (patch) | |
tree | 754019c50c36ec2a59dcf861036d6c624490fb32 /components/script/dom/bindings/codegen/Configuration.py | |
parent | ebd41d41017ee9727eb8417a0a01237b75f3e9c4 (diff) | |
download | servo-ddc47aa56b2c59911b7fec018d7ae89bf2a77bee.tar.gz servo-ddc47aa56b2c59911b7fec018d7ae89bf2a77bee.zip |
Codegen support multiple interfaces in single webidl file & WebGPU single webidl (#30448)
* Codegen support multiple interfaces in single webidl file
* Merge GPU*.webidl into WebGPU.webidl
* Update gpu files to use WebGPUBinding module file
Diffstat (limited to 'components/script/dom/bindings/codegen/Configuration.py')
-rw-r--r-- | components/script/dom/bindings/codegen/Configuration.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index f15b003ac58..0b113c73bd4 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -364,6 +364,17 @@ class Descriptor(DescriptorProvider): config.maxProtoChainLength = max(config.maxProtoChainLength, len(self.prototypeChain)) + def maybeGetSuperModule(self): + """ + Returns name of super module if self is part of it + """ + filename = getIdlFileName(self.interface) + # if interface name is not same as webidl file + # webidl is super module for interface + if filename.lower() != self.interface.identifier.name.lower() and not self.interface.isIteratorInterface(): + return filename + return None + def binaryNameFor(self, name): return self._binaryNames.get(name, name) @@ -459,9 +470,12 @@ def MakeNativeName(name): return name[0].upper() + name[1:] +def getIdlFileName(object): + return os.path.basename(object.location.filename()).split('.webidl')[0] + + def getModuleFromObject(object): - return ('crate::dom::bindings::codegen::Bindings::' - + os.path.basename(object.location.filename()).split('.webidl')[0] + 'Binding') + return ('crate::dom::bindings::codegen::Bindings::' + getIdlFileName(object) + 'Binding') def getTypesFromDescriptor(descriptor): |