code: def cflags(p: Properties) -> str:
      flags: list[str] = []
      if p.oparg:
          flags.append("HAS_ARG_FLAG")
      if p.uses_co_consts:
          flags.append("HAS_CONST_FLAG")
      if p.uses_co_names:
          flags.append("HAS_NAME_FLAG")
      if p.jumps:
          flags.append("HAS_JUMP_FLAG")
      if p.has_free:
          flags.append("HAS_FREE_FLAG")
      if p.uses_locals:
          flags.append("HAS_LOCAL_FLAG")
      if p.eval_breaker:
          flags.append("HAS_EVAL_BREAK_FLAG")
      if p.deopts:
          flags.append("HAS_DEOPT_FLAG")
      if not p.infallible:
          flags.append("HAS_ERROR_FLAG")
      if p.escapes:
          flags.append("HAS_ESCAPES_FLAG")
      if p.pure:
          flags.append("HAS_PURE_FLAG")
      if p.passthrough:
          flags.append("HAS_PASSTHROUGH_FLAG")
      if flags:
          return " | ".join(flags)
      else:
          return "0"
  
file_path: cpython/Tools/cases_generator/generators_common.py
imports: from pathlib import Path
  from typing import TextIO
  from analyzer import Instruction, Uop, analyze_files, Properties, Skip
  from cwriter import CWriter
  from typing import Callable, Mapping, TextIO, Iterator
  from lexer import Token
  from stack import StackOffset, Stack
label_desc: Use image node_id 10 for calling a global function with example usage: cflags(p) and returns: str, str