aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-08-30 08:20:57 -0600
committerbors-servo <metajack+bors@gmail.com>2015-08-30 08:20:57 -0600
commit940bcadc134d1cf123518bebd84635b0053d6858 (patch)
tree4081157ab1762308791c3027a5bd83e685fcbbae /components/script/dom/bindings/codegen/CodegenRust.py
parent89a5e2b3d098fc2afdb95ebcebeb8d7beeebc96a (diff)
parentb62d1a1c4392a86a746b2ac35b94e2d93d279a79 (diff)
downloadservo-940bcadc134d1cf123518bebd84635b0053d6858.tar.gz
servo-940bcadc134d1cf123518bebd84635b0053d6858.zip
Auto merge of #7432 - jdm:dashedprops, r=nox
Add dashed CSS properties in CSSStyleDeclaration <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7432) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py37
1 files changed, 24 insertions, 13 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 003ee83c170..b012fd6e3e5 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -1472,6 +1472,7 @@ class AttrDefiner(PropertyDefiner):
def __init__(self, descriptor, name, static):
PropertyDefiner.__init__(self, descriptor, name)
self.name = name
+ self.descriptor = descriptor
self.regular = [
m
for m in descriptor.interface.members
@@ -1488,14 +1489,14 @@ class AttrDefiner(PropertyDefiner):
def getter(attr):
if self.static:
- accessor = 'get_' + attr.identifier.name
+ accessor = 'get_' + self.descriptor.internalNameFor(attr.identifier.name)
jitinfo = "0 as *const JSJitInfo"
else:
if attr.hasLenientThis():
accessor = "generic_lenient_getter"
else:
accessor = "generic_getter"
- jitinfo = "&%s_getterinfo" % attr.identifier.name
+ jitinfo = "&%s_getterinfo" % self.descriptor.internalNameFor(attr.identifier.name)
return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }"
% {"info": jitinfo,
@@ -1506,14 +1507,14 @@ class AttrDefiner(PropertyDefiner):
return "JSNativeWrapper { op: None, info: 0 as *const JSJitInfo }"
if self.static:
- accessor = 'set_' + attr.identifier.name
+ accessor = 'set_' + self.descriptor.internalNameFor(attr.identifier.name)
jitinfo = "0 as *const JSJitInfo"
else:
if attr.hasLenientThis():
accessor = "generic_lenient_setter"
else:
accessor = "generic_setter"
- jitinfo = "&%s_setterinfo" % attr.identifier.name
+ jitinfo = "&%s_setterinfo" % self.descriptor.internalNameFor(attr.identifier.name)
return ("JSNativeWrapper { op: Some(%(native)s), info: %(info)s }"
% {"info": jitinfo,
@@ -2835,7 +2836,10 @@ class CGSpecializedMethod(CGAbstractExternMethod):
@staticmethod
def makeNativeName(descriptor, method):
name = method.identifier.name
- return MakeNativeName(descriptor.binaryNameFor(name))
+ nativeName = descriptor.binaryNameFor(name)
+ if nativeName == name:
+ nativeName = descriptor.internalNameFor(name)
+ return MakeNativeName(nativeName)
class CGStaticMethod(CGAbstractStaticBindingMethod):
@@ -2862,7 +2866,7 @@ class CGSpecializedGetter(CGAbstractExternMethod):
"""
def __init__(self, descriptor, attr):
self.attr = attr
- name = 'get_' + attr.identifier.name
+ name = 'get_' + descriptor.internalNameFor(attr.identifier.name)
args = [Argument('*mut JSContext', 'cx'),
Argument('HandleObject', '_obj'),
Argument('*const %s' % descriptor.concreteType, 'this'),
@@ -2880,7 +2884,10 @@ class CGSpecializedGetter(CGAbstractExternMethod):
@staticmethod
def makeNativeName(descriptor, attr):
name = attr.identifier.name
- nativeName = MakeNativeName(descriptor.binaryNameFor(name))
+ nativeName = descriptor.binaryNameFor(name)
+ if nativeName == name:
+ nativeName = descriptor.internalNameFor(name)
+ nativeName = MakeNativeName(nativeName)
infallible = ('infallible' in
descriptor.getExtendedAttributes(attr, getter=True))
if attr.type.nullable() or not infallible:
@@ -2914,7 +2921,7 @@ class CGSpecializedSetter(CGAbstractExternMethod):
"""
def __init__(self, descriptor, attr):
self.attr = attr
- name = 'set_' + attr.identifier.name
+ name = 'set_' + descriptor.internalNameFor(attr.identifier.name)
args = [Argument('*mut JSContext', 'cx'),
Argument('HandleObject', 'obj'),
Argument('*const %s' % descriptor.concreteType, 'this'),
@@ -2931,7 +2938,10 @@ class CGSpecializedSetter(CGAbstractExternMethod):
@staticmethod
def makeNativeName(descriptor, attr):
name = attr.identifier.name
- return "Set" + MakeNativeName(descriptor.binaryNameFor(name))
+ nativeName = descriptor.binaryNameFor(name)
+ if nativeName == name:
+ nativeName = descriptor.internalNameFor(name)
+ return "Set" + MakeNativeName(nativeName)
class CGStaticSetter(CGAbstractStaticBindingMethod):
@@ -3045,8 +3055,9 @@ class CGMemberJITInfo(CGThing):
def define(self):
if self.member.isAttr():
- getterinfo = ("%s_getterinfo" % self.member.identifier.name)
- getter = ("get_%s" % self.member.identifier.name)
+ internalMemberName = self.descriptor.internalNameFor(self.member.identifier.name)
+ getterinfo = ("%s_getterinfo" % internalMemberName)
+ getter = ("get_%s" % internalMemberName)
getterinfal = "infallible" in self.descriptor.getExtendedAttributes(self.member, getter=True)
movable = self.mayBeMovable() and getterinfal
@@ -3070,8 +3081,8 @@ class CGMemberJITInfo(CGThing):
slotIndex,
[self.member.type], None)
if (not self.member.readonly or self.member.getExtendedAttribute("PutForwards")):
- setterinfo = ("%s_setterinfo" % self.member.identifier.name)
- setter = ("set_%s" % self.member.identifier.name)
+ setterinfo = ("%s_setterinfo" % internalMemberName)
+ setter = ("set_%s" % internalMemberName)
# Setters are always fallible, since they have to do a typed unwrap.
result += self.defineJitInfo(setterinfo, setter, "Setter",
False, False, "AliasEverything",