code: def generate_pseudo_targets(analysis: Analysis, out: CWriter) -> None:
      table_size = len(analysis.pseudos)
      max_targets = max(
          len(pseudo.targets) for pseudo in analysis.pseudos.values()
      )
      out.emit("struct pseudo_targets {\n")
      out.emit(f"uint8_t targets[{max_targets + 1}];\n")
      out.emit("};\n")
      out.emit(
          f"extern const struct pseudo_targets _PyOpcode_PseudoTargets[{table_size}];\n"
      )
      out.emit("#ifdef NEED_OPCODE_METADATA\n")
      out.emit(
          f"const struct pseudo_targets _PyOpcode_PseudoTargets[{table_size}] = {{\n"
      )
      for pseudo in analysis.pseudos.values():
          targets = ["0"] * (max_targets + 1)
          for i, target in enumerate(pseudo.targets):
              targets[i] = target.name
          out.emit(
              f"[{pseudo.name}-256] = {{ {{ {', '.join(targets)} }} }},\n"
          )
      out.emit("};\n\n")
      out.emit("#endif // NEED_OPCODE_METADATA\n")
      out.emit("static inline bool\n")
      out.emit("is_pseudo_target(int pseudo, int target) {\n")
      out.emit(f"if (pseudo < 256 || pseudo >= {256+table_size}) {{\n")
      out.emit(f"return false;\n")
      out.emit("}\n")
      out.emit(
          f"for (int i = 0; _PyOpcode_PseudoTargets[pseudo-256].targets[i]; i++) {{\n"
      )
      out.emit(
          f"if (_PyOpcode_PseudoTargets[pseudo-256].targets[i] == target) return true;\n"
      )
      out.emit("}\n")
      out.emit(f"return false;\n")
      out.emit("}\n\n")
  
imports: import argparse
  import os.path
  import sys
  from analyzer import Analysis, Instruction, analyze_files, Skip, Uop
  from generators_common import DEFAULT_INPUT, ROOT, write_header, cflags, StackOffset
  from cwriter import CWriter
  from typing import TextIO
  from stack import get_stack_effect
label_desc: Use image node_id 15 for calling a global function with example usage: generate_pseudo_targets(analysis, out) without return types