Check for unknown instruction attributes. (#80)

* Check for unknown instruction attributes.

* Avoid has_key, at flake8's advice.

* Use AssertionError instead of RuntimeError, per review request.
This commit is contained in:
Dan Gohman
2017-05-11 10:21:59 -07:00
committed by Jakob Stoklund Olesen
parent 526feb161a
commit 5ff2257b12

View File

@@ -122,6 +122,10 @@ class Instruction(object):
i for i, o in enumerate(self.ins) if o.is_immediate())
self._verify_polymorphic()
for attr in kwargs:
if attr not in Instruction.ATTRIBS:
raise AssertionError(
"unknown instruction attribute '" + attr + "'")
for attr in Instruction.ATTRIBS:
setattr(self, attr, not not kwargs.get(attr, False))
InstructionGroup.append(self)