def expression_nodes(expression):
        todo = [expression]
        while todo:
            expression = todo.pop()
            if expression is not None:
                yield expression
            if isinstance(expression, Expression):
                todo.extend(expression.get_source_expressions())
L{Response} instances provide L{IResponse}.
dataset/ETHPy150Open KristianOellegaard/django-hvad/hvad/query.py/expression_nodes--crossover with--dataset/ETHPy150Open twisted/twisted/twisted/web/test/test_newclient.py/ResponseTests.test_verifyInterface