public static Cons yieldDestructorDefinitions(Stella_Class renamed_Class) {
    { Symbol classname = Stella_Class.classSymbol(renamed_Class);
      Symbol destructor = ((Symbol)(KeyValueList.dynamicSlotValue(renamed_Class.dynamicSlots, Stella.SYM_STELLA_CLASS_DESTRUCTOR, null)));
      Symbol terminator = renamed_Class.terminator();
      Cons definitions = Stella.NIL;

      if (Stella_Class.decidedToRecycleP(renamed_Class)) {
        { StorageSlot recycleslot = Stella_Class.recycleSlot(renamed_Class);
          Symbol recyclelist = Stella_Class.yieldRecycleListName(renamed_Class);

          if (Stella_Class.useFreeListP(renamed_Class)) {
            definitions = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFMETHOD, Cons.cons(Stella.SYM_STELLA_FREE, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(classname, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_WHEN, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_AND, Cons.cons(Stella.SYM_STELLA_$RECYCLING_ENABLEDp$, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFINEDp, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons((((Stella_Class.useSweepListP(renamed_Class) &&
                (!Surrogate.subtypeOfP(renamed_Class.classType, Stella.SGT_STELLA_STANDARD_OBJECT))) ? Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFINEDp, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_ALL_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL) : Stella.NIL)).concatenate(Stella.NIL, Stella.NIL), Stella.NIL))))), Cons.cons(Stella_Class.yieldTerminateObjectTrees(renamed_Class).concatenate(Stella.yieldRegisterRecycledItemTrees().concatenate((((recycleslot != null) ? Cons.list$(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SLOT_VALUE, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(recycleslot.slotName, Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_RECYCLED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_RECYCLED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Stella.NIL, Stella.NIL)))) : Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_PUSH, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_LIST_OF_RECYCLED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Stella.NIL, Stella.NIL))))), Stella.NIL))).concatenate((((!Stella_Class.useSweepListP(renamed_Class)) ? Cons.list$(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_ii, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CURRENT_LENGTH, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_WHEN, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_e, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA___, Cons.cons(Stella.SYM_STELLA_$RECYCLE_LISTS_MAINTENANCE_TIMER$, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(IntegerWrapper.wrapInteger(0), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Cons.cons(Stella.SYM_STELLA_MAINTAIN_RECYCLE_LISTS, Stella.NIL), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Stella.NIL, Stella.NIL)))) : Stella.NIL)).concatenate(Stella.NIL, Stella.NIL), Stella.NIL), Stella.NIL), Stella.NIL), Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))))), definitions);
          }
          if (Stella_Class.useSweepListP(renamed_Class)) {
            if (!Stella_Class.useFreeListP(renamed_Class)) {
              definitions = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFMETHOD, Cons.cons(Stella.SYM_STELLA_FREE, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(classname, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(Stella.SYM_STELLA_NULL, Cons.cons(Stella.NIL, Stella.NIL)))))), definitions);
            }
            definitions = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFMETHOD, Cons.cons(Stella.SYM_STELLA_SWEEP, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(classname, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_WHEN, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_AND, Cons.cons(Stella.SYM_STELLA_$RECYCLING_ENABLEDp$, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFINEDp, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(((Stella_Class.useFreeListP(renamed_Class) ? (((Stella_Class.recycleSlot(renamed_Class) != null) ? Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_RECYCLED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.SYM_STELLA_NULL, Cons.cons(Stella.NIL, Stella.NIL))))), Stella.NIL) : Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CLEAR, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_LIST_OF_RECYCLED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL))) : Stella.NIL)).concatenate(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_LET, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_UNUSED, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_UNUSED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETQ, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_ALL_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_WHILE, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_NOT, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_EQLp, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Stella.SYM_STELLA_UNUSED, Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella_Class.yieldTerminateObjectTrees(renamed_Class).concatenate(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETQ, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_NEXT_SWEEP_LIST_OBJECT, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Stella.NIL), Stella.NIL), Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SETF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_UNUSED_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_ALL_ITEMS, Cons.cons(recyclelist, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Cons.cons(Stella.NIL, Stella.NIL))))))), Stella.NIL), Stella.NIL), Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))))), definitions);
          }
        }
      }
      else if ((terminator != null) ||
          (destructor != null)) {
        if (!(destructor != null)) {
          destructor = Stella.SYM_STELLA_UNMAKE;
        }
        if (!(destructor == Stella.SYM_STELLA_FREE)) {
          definitions = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_DEFMETHOD, Cons.cons(Stella.SYM_STELLA_FREE, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(classname, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(((terminator != null) ? Cons.list$(Cons.cons(Stella.SYM_STELLA_WHEN, Cons.cons(Cons.cons(terminator, Cons.cons(Stella.SYM_STELLA_SELF, Stella.NIL)), Cons.cons(Cons.cons(destructor, Cons.cons(Stella.SYM_STELLA_SELF, Stella.NIL)), Cons.cons(Stella.NIL, Stella.NIL))))) : Cons.cons(destructor, Cons.cons(Stella.SYM_STELLA_SELF, Stella.NIL))), Cons.cons(Stella.NIL, Stella.NIL)))))), definitions);
        }
      }
      return (definitions.reverse());
    }
  }