public static List computeClStructSlots(Stella_Class renamed_Class) {
    { Surrogate value000 = null;

      { Surrogate renamed_Super = null;
        Cons iter000 = Stella_Class.classNativeSupers(renamed_Class).theConsList;

        loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          renamed_Super = ((Surrogate)(iter000.value));
          if (!((Stella_Class)(renamed_Super.surrogateValue)).mixinP) {
            value000 = renamed_Super;
            break loop000;
          }
        }
      }
      { Surrogate realsuper = value000;
        List result = ((realsuper != null) ? Stella_Class.computeClStructSlots(((Stella_Class)(realsuper.surrogateValue))) : ((List)(null)));

        if (!(result != null)) {
          result = List.newList();
        }
        { Surrogate renamed_Super = null;
          Cons iter001 = Stella_Class.classNativeSupers(renamed_Class).theConsList;

          for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
            renamed_Super = ((Surrogate)(iter001.value));
            if (!(renamed_Super == realsuper)) {
              { Slot slot = null;
                Iterator iter002 = ((Stella_Class)(renamed_Super.surrogateValue)).classSlots();
                Cons collect000 = null;

                while (iter002.nextP()) {
                  slot = ((Slot)(iter002.value));
                  if (Stella_Object.storageSlotP(slot) &&
                      StorageSlot.nativeSlotP(((StorageSlot)(slot)))) {
                    if (collect000 == null) {
                      {
                        collect000 = Cons.cons(slot, Stella.NIL);
                        if (result.theConsList == Stella.NIL) {
                          result.theConsList = collect000;
                        }
                        else {
                          Cons.addConsToEndOfConsList(result.theConsList, collect000);
                        }
                      }
                    }
                    else {
                      {
                        collect000.rest = Cons.cons(slot, Stella.NIL);
                        collect000 = collect000.rest;
                      }
                    }
                  }
                }
              }
            }
          }
        }
        { Slot slot = null;
          Cons iter003 = renamed_Class.classLocalSlots.theConsList;
          Cons collect001 = null;

          for (;!(iter003 == Stella.NIL); iter003 = iter003.rest) {
            slot = ((Slot)(iter003.value));
            if (Stella_Object.storageSlotP(slot) &&
                StorageSlot.nativeSlotP(((StorageSlot)(slot)))) {
              if (collect001 == null) {
                {
                  collect001 = Cons.cons(slot, Stella.NIL);
                  if (result.theConsList == Stella.NIL) {
                    result.theConsList = collect001;
                  }
                  else {
                    Cons.addConsToEndOfConsList(result.theConsList, collect001);
                  }
                }
              }
              else {
                {
                  collect001.rest = Cons.cons(slot, Stella.NIL);
                  collect001 = collect001.rest;
                }
              }
            }
          }
        }
        return (result);
      }
    }
  }