public static Stella_Object walkStatement(Stella_Object tree, boolean warnonatomP) {
    { Stella_Object otree = null;
      StandardObject unusedtypespec = null;

      { Object [] caller_MV_returnarray = new Object[1];

        otree = Stella_Object.walkATree(tree, caller_MV_returnarray);
        unusedtypespec = ((StandardObject)(caller_MV_returnarray[0]));
      }
      unusedtypespec = unusedtypespec;
      if (Stella_Object.safePrimaryType(otree) == Stella.SGT_STELLA_CONS) {
        { Cons otree000 = ((Cons)(otree));

          if (otree000.value == Stella.SYM_STELLA_VRLET) {
            otree000 = Cons.eliminateVrletStatement(otree000);
          }
        }
      }
      else {
        if (warnonatomP &&
            ((otree != null) &&
             (!(otree == Stella.SYM_STELLA_NULL)))) {
          { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationWarning();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> WARNING: ", Stella.STANDARD_WARNING);
                {
                  Stella.STANDARD_WARNING.nativeStream.println();
                  Stella.STANDARD_WARNING.nativeStream.println(" Expression found where statement expected: `" + Stella_Object.deUglifyParseTree(tree) + "'.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
            }
          }
        }
      }
      return (otree);
    }
  }