code: def make_withitem(queue, stack):
      
      context_expr = make_expr(stack)
      # This is a POP_TOP for just "with <expr>:".
      # This is a STORE_NAME(name) for "with <expr> as <name>:".
      as_instr = queue.popleft()
      if isinstance(as_instr, (instrs.STORE_FAST,
                               instrs.STORE_NAME,
                               instrs.STORE_DEREF,
                               instrs.STORE_GLOBAL)):
          return ast.withitem(
              context_expr=context_expr,
              optional_vars=make_assign_target(as_instr, queue, stack),
          )
      elif isinstance(as_instr, instrs.POP_TOP):
          return ast.withitem(context_expr=context_expr, optional_vars=None)
      else:
          raise DecompilationError(
              "Don't know how to make withitem from %s" % as_instr,
          )
docs: Make an ast.withitem node.