public static Cons yieldStructSlotTrees(Stella_Class renamed_Class) {
    { Cons structslotdefs = Stella.NIL;

      { StorageSlot slot = null;
        Cons iter000 = Stella_Class.clStructSlots(renamed_Class).theConsList;
        Cons collect000 = null;

        loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          slot = ((StorageSlot)(iter000.value));
          if (!(Slot.nativeSlotHome(slot, renamed_Class) == renamed_Class)) {
            if ((slot.slotBaseType != null) &&
                (!(((Stella_Class)(slot.slotBaseType.surrogateValue)) != null))) {
              {
                Stella.STANDARD_WARNING.nativeStream.println("Warning: Can't generate a native slot named `" + slot.slotName + "' for the class `" + Stella_Class.className(renamed_Class) + "'");
                Stella.STANDARD_WARNING.nativeStream.println(" because the slot's :type `" + slot.slotBaseType + "' is undefined.");
              }
;
            }
            continue loop000;
          }
          if (collect000 == null) {
            {
              collect000 = Cons.cons(StorageSlot.yieldStructSlotTree(slot), Stella.NIL);
              if (structslotdefs == Stella.NIL) {
                structslotdefs = collect000;
              }
              else {
                Cons.addConsToEndOfConsList(structslotdefs, collect000);
              }
            }
          }
          else {
            {
              collect000.rest = Cons.cons(StorageSlot.yieldStructSlotTree(slot), Stella.NIL);
              collect000 = collect000.rest;
            }
          }
        }
      }
      return (structslotdefs);
    }
  }