class_docstr: Uses the same visitor pattern as c_ast.NodeVisitor, but modified to
  return a value from each visit method, using string accumulation in
  generic_visit.
class_docstr_tok: ["Uses","the","same","visitor","pattern","as","c_ast.NodeVisitor",",","but","modified","to","return","a","value","from","each","visit","method",",","using","string","accumulation","in","generic_visit","."]
code: def visit_UnaryOp(self, n):
      if n.op == "sizeof":
          # Always parenthesize the argument of sizeof since it can be
          # a name.
          return "sizeof(%s)" % self.visit(n.expr)
      else:
          operand = self._parenthesize_unless_simple(n.expr)
          if n.op == "p++":
              return "%s++" % operand
          elif n.op == "p--":
              return "%s--" % operand
          else:
              return "%s%s" % (n.op, operand)
  
imports: from .None import c_ast
label_desc: Use image node_id 11 for calling the CGenerator obj's underlying member method code with example usage: obj.visit_UnaryOp(n) and returns: unknown, unknown, unknown, unknown