diff options
author | Tom Schuster <evilpies@gmail.com> | 2013-11-15 15:41:49 +0100 |
---|---|---|
committer | Tom Schuster <evilpies@gmail.com> | 2013-11-15 17:56:11 +0100 |
commit | 586dd6aed64c1b6a81cc2d19f9c42f979751fb12 (patch) | |
tree | b8c1a3ed1377ddaffa29bb2311bf6d9604d55701 /src/components/script/dom/bindings/codegen/CodegenRust.py | |
parent | e98ddef9bbaf41adb15b158b8a0f21ef252a1a79 (diff) | |
download | servo-586dd6aed64c1b6a81cc2d19f9c42f979751fb12.tar.gz servo-586dd6aed64c1b6a81cc2d19f9c42f979751fb12.zip |
Add some more Blob methods/types
Diffstat (limited to 'src/components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index bb87667df83..8cfd491ebdb 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -1097,14 +1097,9 @@ for (uint32_t i = 0; i < length; ++i) { if isMember: # We have to make a copy, because our jsval may well not # live as long as our string needs to. - declType = CGGeneric("nsString") - return ( - "{\n" - " FakeDependentString str;\n" - "%s\n" - " ${declName} = str;\n" - "}\n" % CGIndenter(CGGeneric(getConversionCode("str"))).define(), - declType, None, isOptional, None) + declType = CGGeneric("DOMString") + return ("%s\n" % getConversionCode("${declName}"), + declType, None, isOptional, None) declType = "DOMString" initialValue = None @@ -4833,7 +4828,7 @@ class CGDictionary(CGThing): else: inheritance = "" memberDecls = [" %s: %s," % - (m[0].identifier.name, self.getMemberType(m)) + (self.makeMemberName(m[0].identifier.name), self.getMemberType(m)) for m in self.memberInfo] return (string.Template( @@ -4876,8 +4871,8 @@ class CGDictionary(CGThing): return "false" elif ty in ["i32", "u32", "i16", "u16"]: return "0" - elif ty is "nsString": - return "\"\"" + elif ty == "DOMString": + return '~""' elif ty.startswith("Option"): return "None" else: @@ -4895,7 +4890,7 @@ class CGDictionary(CGThing): " ${selfName} {\n" + ((" parent: %s::%s::new(),\n" % (self.makeModuleName(d.parent), self.makeClassName(d.parent))) if d.parent else "") + - "\n".join(" %s: %s," % (m[0].identifier.name, defaultValue(self.getMemberType(m))) for m in self.memberInfo) + "\n" + "\n".join(" %s: %s," % (self.makeMemberName(m[0].identifier.name), defaultValue(self.getMemberType(m))) for m in self.memberInfo) + "\n" " }\n" " }\n" "\n" @@ -4965,7 +4960,7 @@ class CGDictionary(CGThing): holderType, dealWithOptional, initialValue)) = memberInfo replacements = { "val": "temp", "valPtr": "&temp", - "declName": ("self.%s" % member.identifier.name), + "declName": ("self.%s" % self.makeMemberName(member.identifier.name)), # We need a holder name for external interfaces, but # it's scoped down to the conversion so we can just use # anything we want. @@ -5021,7 +5016,7 @@ class CGDictionary(CGThing): "}") conversionReplacements["convert"] = CGIndenter( CGGeneric(conversionReplacements["convert"])).define() - + return CGGeneric( string.Template(conversion).substitute(conversionReplacements) ) @@ -5031,6 +5026,13 @@ class CGDictionary(CGThing): return name + "_id" @staticmethod + def makeMemberName(name): + # Can't use Rust keywords as member names. + if name == "type": + return name + "_" + return name + + @staticmethod def getDictionaryDependencies(dictionary): deps = set(); if dictionary.parent: |