def __init__(self, e1: RObj, e2: RObj, op_name): super(SpecialObj, self).__init__(types.BuiltInType()) self.e1 = e1 self.e2 = e2 self.op_name = op_name
def __init__(self, e: RObj): super(SubtractUnaryObj, self).__init__(types.BuiltInType()) self.e = e
def __init__(self, e1: RObj, e2: RObj): super(DivideObj, self).__init__(types.BuiltInType()) self.e1 = e1 self.e2 = e2
def __init__(self, x: RObj, y: RObj): super(LessOrEqualObj, self).__init__(types.BuiltInType()) self.x = x self.y = y
def __init__(self, x: RObj, y: RObj): super(GreaterObj, self).__init__(types.BuiltInType()) self.x = x self.y = y
def __init__(self, x: RObj): super(NotObj, self).__init__(types.BuiltInType()) self.x = x
def __init__(self, x: RObj, y: RObj): super(AndObj, self).__init__(types.BuiltInType()) self.x: RObj = x self.y: RObj = y
def __init__(self, name, input_args): super(BuiltInFun, self).__init__(input_args, None) self._type = types.BuiltInType() self.name = name