def __init__(self, **kwargs): kwargs.setdefault('combiners', ()) super(FunctionIntr, self).__init__(**kwargs) self.combiners = kwargs['combiners'] if 'signature' in kwargs: self.signature = kwargs['signature'] deduced_combiner = extract_combiner(self.signature) if deduced_combiner is not None: self.combiners += deduced_combiner, if 'return_range' not in kwargs: if isinstance(self.signature, Union): if all(r.__args__[-1] is bool for r in self.signature.__args__): self.return_range = bool_values elif isinstance(self.signature, Generator): if self.signature.__args__[0] is bool: self.return_range = bool_values elif isinstance(self.signature, Fun): if self.signature.__args__[-1] is bool: self.return_range = bool_values else: self.signature = Any if 'immediate_arguments' in kwargs: self.immediate_arguments = kwargs['immediate_arguments'] else: self.immediate_arguments = []
def __init__(self, **kwargs): kwargs.setdefault('combiners', ()) super(FunctionIntr, self).__init__(**kwargs) self.combiners = kwargs['combiners'] if 'signature' in kwargs: self.signature = kwargs['signature'] deduced_combiner = extract_combiner(self.signature) if deduced_combiner is not None: self.combiners += deduced_combiner, if 'return_range' not in kwargs: if isinstance(self.signature, Union): if all(r.__args__[-1] is bool for r in self.signature.__args__): self.return_range = bool_values elif isinstance(self.signature, Generator): if self.signature.__args__[0] is bool: self.return_range = bool_values elif isinstance(self.signature, Fun): if self.signature.__args__[-1] is bool: self.return_range = bool_values else: self.signature = Any