aboutsummaryrefslogtreecommitdiff
path: root/ql/ast/nodes/expressions/binary_operators/less_equals_operator.py
diff options
context:
space:
mode:
authorBicker <bickerkards@tuta.io>2019-05-22 17:45:37 +0200
committerBicker <bickerkards@tuta.io>2019-05-22 17:45:37 +0200
commit25314fd2aed81aa5281bc3d93dbcc7919368ebe1 (patch)
tree1995521ee652e419926de5fced0f2e3b655e70fb /ql/ast/nodes/expressions/binary_operators/less_equals_operator.py
Initial commitHEADmaster
Diffstat (limited to 'ql/ast/nodes/expressions/binary_operators/less_equals_operator.py')
-rw-r--r--ql/ast/nodes/expressions/binary_operators/less_equals_operator.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/ql/ast/nodes/expressions/binary_operators/less_equals_operator.py b/ql/ast/nodes/expressions/binary_operators/less_equals_operator.py
new file mode 100644
index 0000000..f5b86df
--- /dev/null
+++ b/ql/ast/nodes/expressions/binary_operators/less_equals_operator.py
@@ -0,0 +1,30 @@
+from ql.ast.nodes.expressions.binary_operators.binary_operator import BinaryOperatorNode
+from ql.types.boolean import QLBoolean
+from ql.types.date import QLDate
+from ql.types.decimal import QLDecimal
+from ql.types.integer import QLInteger
+from ql.types.money import QLMoney
+from ql.types.undefined import QLUndefined
+
+
+class LessEqualsOperatorNode(BinaryOperatorNode):
+ def __init__(self, metadata, expression_type, left_expression, right_expression, value):
+ super(LessEqualsOperatorNode, self).__init__(metadata, expression_type,
+ left_expression, right_expression, value)
+ self.__valid_types = [
+ (QLDate, QLDate),
+ (QLDecimal, QLDecimal),
+ (QLDecimal, QLInteger),
+ (QLInteger, QLInteger),
+ (QLInteger, QLDecimal),
+ (QLMoney, QLMoney),
+ ]
+
+ def get_result_type(self):
+ if (self.left_expression.expression_type, self.right_expression.expression_type) in self.__valid_types:
+ return QLBoolean
+
+ return QLUndefined
+
+ def evaluate(self):
+ self.value = self.left_expression.value <= self.right_expression.value