def __get__(self, obj, typ):
        # Get the cache or set a default one if needed

        cache = getattr(obj, '_cache', None)
        if cache is None:
            try:
                cache = obj._cache = {}
            except (AttributeError):
                return

        if cache in self.name:
            val = cache[self.name]
        else:
            val = self.func(obj)
            cache[self.name] = val
        return val
dataset/ETHPy150Open cloudera/ibis/ibis/util.py/cache_readonly.__get__/swapped operands of `in`