aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Yeung <kungfukeith11@gmail.com>2016-04-17 17:09:37 -0400
committerKeith Yeung <kungfukeith11@gmail.com>2016-04-17 19:37:42 -0400
commitc6b6d2c84ec101c858f54afc923fbddd8d671d0d (patch)
treea0c4010b86bee1906fc6b1e25fd8b4994f86552c
parenta76af66abbf9efb217162eba270d0f332254992b (diff)
downloadservo-c6b6d2c84ec101c858f54afc923fbddd8d671d0d.tar.gz
servo-c6b6d2c84ec101c858f54afc923fbddd8d671d0d.zip
Avoid generating parameter names that are Rust keywords
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 57b7be5c7bb..74dff1cce9f 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -36,6 +36,13 @@ TRACE_HOOK_NAME = '_trace'
CONSTRUCT_HOOK_NAME = '_constructor'
HASINSTANCE_HOOK_NAME = '_hasInstance'
+RUST_KEYWORDS = {"abstract", "alignof", "as", "become", "box", "break", "const", "continue",
+ "else", "enum", "extern", "false", "final", "fn", "for", "if", "impl", "in",
+ "let", "loop", "macro", "match", "mod", "move", "mut", "offsetof", "override",
+ "priv", "proc", "pub", "pure", "ref", "return", "static", "self", "sizeof",
+ "struct", "super", "true", "trait", "type", "typeof", "unsafe", "unsized",
+ "use", "virtual", "where", "while", "yield"}
+
def replaceFileIfChanged(filename, newContents):
"""
@@ -5247,7 +5254,7 @@ class CGDictionary(CGThing):
@staticmethod
def makeMemberName(name):
# Can't use Rust keywords as member names.
- if name == "type":
+ if name in RUST_KEYWORDS:
return name + "_"
return name