public Cons cppTranslateAtomicTree() {
    { Symbol tree = this;

      { GlobalVariable globalvar = tree.softPermanentify().lookupGlobalVariable();

        if (globalvar != null) {
          { Cons otree = Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_IDENT, Cons.cons(Symbol.cppTranslateGlobalName(tree), Cons.cons(Stella.NIL, Stella.NIL))));

            if (globalvar.variableSpecialP &&
                (Stella.specialImplementationStyle() == Stella.KWD_UNBIND_WITH_DESTRUCTORS)) {
              otree = Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_REFERENCED_METHOD_CALL, Cons.cons(Stella.SYM_STELLA_NULL, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_IDENT, Cons.cons(Symbol.cppTranslateName(Stella.SYM_STELLA_GET), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(otree, Cons.cons(Cons.cons(Cons.cons(Stella.SYM_STELLA_CPP_ACTUALS, Stella.NIL), Stella.NIL), Stella.NIL))))));
            }
            return (otree);
          }
        }
        else {
          return (Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_IDENT, Cons.cons(Symbol.cppTranslateName(tree), Cons.cons(Stella.NIL, Stella.NIL)))));
        }
      }
    }
  }