Add an IsEqual FieldPredicate.

Compare an immediate operand to a constant value.
This commit is contained in:
Jakob Stoklund Olesen
2017-03-31 10:12:44 -07:00
parent 3b0ac20ce2
commit b31ca83b91
2 changed files with 21 additions and 0 deletions

View File

@@ -232,6 +232,21 @@ class FieldPredicate(object):
return 'predicates::{}({})'.format(self.function, ', '.join(args))
class IsEqual(FieldPredicate):
"""
Instruction predicate that checks if an immediate instruction format field
is equal to a constant value.
:param field: `FormatField` to be checked.
:param value: The constant value to compare against.
"""
def __init__(self, field, value):
# type: (FormatField, Any) -> None
super(IsEqual, self).__init__(field, 'is_equal', (value,))
self.value = value
class IsSignedInt(FieldPredicate):
"""
Instruction predicate that checks if an immediate instruction format field