aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-07-08 15:18:49 +0200
committerMs2ger <Ms2ger@gmail.com>2016-07-12 13:06:52 +0200
commite99054f7313fbb7e364da69f6275410660527e08 (patch)
treeae8dbc515cb5613b98483dd8525b49fd31ee7423
parent1dcdc2859c24b971b62a1ff9804e73f7c061cbd7 (diff)
downloadservo-e99054f7313fbb7e364da69f6275410660527e08.tar.gz
servo-e99054f7313fbb7e364da69f6275410660527e08.zip
Add support for unsafe Rust-ABI functions to CGAbstractMethod.
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index b790f237225..0da49a5ef06 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -2143,8 +2143,8 @@ class CGAbstractMethod(CGThing):
docs is None or documentation for the method in a string.
"""
def __init__(self, descriptor, name, returnType, args, inline=False,
- alwaysInline=False, extern=False, pub=False, templateArgs=None,
- unsafe=False, docs=None, doesNotPanic=False):
+ alwaysInline=False, extern=False, unsafe_fn=False, pub=False,
+ templateArgs=None, unsafe=False, docs=None, doesNotPanic=False):
CGThing.__init__(self)
self.descriptor = descriptor
self.name = name
@@ -2152,6 +2152,7 @@ class CGAbstractMethod(CGThing):
self.args = args
self.alwaysInline = alwaysInline
self.extern = extern
+ self.unsafe_fn = extern or unsafe_fn
self.templateArgs = templateArgs
self.pub = pub
self.unsafe = unsafe
@@ -2181,8 +2182,10 @@ class CGAbstractMethod(CGThing):
if self.pub:
decorators.append('pub')
- if self.extern:
+ if self.unsafe_fn:
decorators.append('unsafe')
+
+ if self.extern:
decorators.append('extern')
if not decorators: