diff options
Diffstat (limited to 'components/script/dom/bindings')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index f1ec208b3b2..fa6c0475000 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -4150,13 +4150,16 @@ class CGInterfaceTrait(CGThing): def fmt(arguments): return "".join(", %s: %s" % argument for argument in arguments) - methods = CGList([ + methods = [ CGGeneric("fn %s(self%s) -> %s;\n" % (name, fmt(arguments), rettype)) for name, arguments, rettype in members() - ], "") - self.cgRoot = CGWrapper(CGIndenter(methods), - pre="pub trait %sMethods {\n" % descriptor.interface.identifier.name, - post="}") + ] + if methods: + self.cgRoot = CGWrapper(CGIndenter(CGList(methods, "")), + pre="pub trait %sMethods {\n" % descriptor.interface.identifier.name, + post="}") + else: + self.cgRoot = CGGeneric("") def define(self): return self.cgRoot.define() @@ -4362,8 +4365,8 @@ class CGDictionary(CGThing): def struct(self): d = self.dictionary if d.parent: - inheritance = " pub parent: %s::%s<'a, 'b>,\n" % (self.makeModuleName(d.parent), - self.makeClassName(d.parent)) + inheritance = " pub parent: %s::%s,\n" % (self.makeModuleName(d.parent), + self.makeClassName(d.parent)) else: inheritance = "" memberDecls = [" pub %s: %s," % @@ -4371,7 +4374,7 @@ class CGDictionary(CGThing): for m in self.memberInfo] return (string.Template( - "pub struct ${selfName}<'a, 'b> {\n" + + "pub struct ${selfName} {\n" + "${inheritance}" + "\n".join(memberDecls) + "\n" + "}").substitute( { "selfName": self.makeClassName(d), @@ -4395,11 +4398,11 @@ class CGDictionary(CGThing): memberInits = CGList([memberInit(m) for m in self.memberInfo]) return string.Template( - "impl<'a, 'b> ${selfName}<'a, 'b> {\n" - " pub fn empty() -> ${selfName}<'a, 'b> {\n" + "impl ${selfName} {\n" + " pub fn empty() -> ${selfName} {\n" " ${selfName}::new(ptr::null_mut(), NullValue()).unwrap()\n" " }\n" - " pub fn new(cx: *mut JSContext, val: JSVal) -> Result<${selfName}<'a, 'b>, ()> {\n" + " pub fn new(cx: *mut JSContext, val: JSVal) -> Result<${selfName}, ()> {\n" " let object = if val.is_null_or_undefined() {\n" " ptr::null_mut()\n" " } else if val.is_object() {\n" |