code: def _iter_member_names(klass: ast.ClassDef) -> typing.Iterator[str]:
      for node in ast.iter_child_nodes(klass):
          if isinstance(node, ast.AnnAssign) and isinstance(
              node.target, ast.Name
          ):
              yield node.target.id
          elif isinstance(node, ast.FunctionDef) and _is_property(node):
              yield node.name
          elif isinstance(node, ast.Assign):
              if len(node.targets) == 1 and isinstance(
                  target := node.targets[0], ast.Name
              ):
                  yield target.id
  
file_path: airflow/scripts/ci/pre_commit/pre_commit_base_operator_partial_arguments.py
imports: from __future__ import annotations
  import ast
  import itertools
  import pathlib
  import sys
  import typing
label_desc: Use image node_id 7 for calling a global function with example usage: _iter_member_names(klass) without return types