1class BackendObject:
2    """
3    This is a base class for custom backend objects to implement.
4
5    It lets Claripy know that how to deal with those objects, in case they're directly used in operations.
6
7    Backend objects that *don't* derive from this class need to be wrapped in a type-I claripy.ast.Base.
8    """
9
10    __slots__ = tuple()
11
12    def to_claripy(self):
13        """
14        Claripy calls this to retrieve something that it can directly reason about.
15        """
16
17        return self
18