public static void cppOutputUnaryOperator(Cons expression) {
    { StringWrapper op = null;
      Stella_Object arg = null;
      boolean postfixP = false;

      if (Surrogate.subtypeOfStringP(Stella_Object.safePrimaryType(expression.value))) {
        op = ((StringWrapper)(expression.value));
        arg = expression.rest.value;
      }
      else {
        op = ((StringWrapper)(expression.rest.value));
        arg = expression.value;
        postfixP = true;
      }
      if (!(postfixP)) {
        ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(op.wrapperValue);
      }
      Stella_Object.cppMaybeOutputStatementWithParentheses(arg);
      if (postfixP) {
        ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(op.wrapperValue);
      }
    }
  }