Auto merge of #15585 - servo:CGConstant, r=nox

Simplify CGConstant.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15585)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-02-20 04:12:08 -08:00 committed by GitHub
commit e52eb2a5e3

View file

@ -4035,17 +4035,14 @@ def convertConstIDLValueToRust(value):
class CGConstant(CGThing): class CGConstant(CGThing):
def __init__(self, constants): def __init__(self, constant):
CGThing.__init__(self) CGThing.__init__(self)
self.constants = constants self.constant = constant
def define(self): def define(self):
def stringDecl(const): name = self.constant.identifier.name
name = const.identifier.name value = convertConstIDLValueToRust(self.constant.value)
value = convertConstIDLValueToRust(const.value) return "pub const %s: %s = %s;\n" % (name, builtinNames[self.constant.value.type.tag()], value)
return CGGeneric("pub const %s: %s = %s;\n" % (name, builtinNames[const.value.type.tag()], value))
return CGIndenter(CGList(stringDecl(m) for m in self.constants)).define()
def getUnionTypeTemplateVars(type, descriptorProvider): def getUnionTypeTemplateVars(type, descriptorProvider):
@ -5723,10 +5720,10 @@ class CGDescriptor(CGThing):
cgThings.append(CGClassTraceHook(descriptor)) cgThings.append(CGClassTraceHook(descriptor))
# If there are no constant members, don't make a module for constants # If there are no constant members, don't make a module for constants
constMembers = [m for m in descriptor.interface.members if m.isConst()] constMembers = [CGConstant(m) for m in descriptor.interface.members if m.isConst()]
if constMembers: if constMembers:
cgThings.append(CGNamespace.build([descriptor.name + "Constants"], cgThings.append(CGNamespace.build([descriptor.name + "Constants"],
CGConstant(constMembers), CGIndenter(CGList(constMembers)),
public=True)) public=True))
reexports.append(descriptor.name + 'Constants') reexports.append(descriptor.name + 'Constants')