docstr: Returns a generator which visits all the nodes in expression tree and yields one that matches the passed `expression_type`.
  
  Args:
      expression_type (Any): expression type to match with
  
  Returns:
      the generator object.
docstr_tok: ["Returns","a","generator","which","visits","all","the","nodes","in","expression","tree","and","yields","one","that","matches","the","passed","`","expression_type","`",".","Args",":","expression_type","(","Any",")",":","expression","type","to","match","with","Returns",":","the","generator","object","."]
code: def find_all(self, expression_type: Any):
      """Returns a generator which visits all the nodes in expression tree and yields one that matches the passed `expression_type`.
  
      Args:
          expression_type (Any): expression type to match with
  
      Returns:
          the generator object.
      """
  
      for node in self.bfs():
          if isinstance(node, expression_type):
              yield node
  
imports: from abc import ABC, abstractmethod
  from collections import deque
  from copy import deepcopy
  from enum import IntEnum, auto, unique
  from typing import Any
label_desc: Use image node_id 17 for calling the AbstractExpression obj's underlying member method code with example usage: obj.find_all(expression_type) without return types