public static Cons javaGetInstanceVariableDefinitions(Stella_Class renamed_Class) {
    if (renamed_Class.mixinP) {
      return (Stella.NIL);
    }
    { Cons instancevardefs = Stella.NIL;
      Stella_Class superclass = null;

      { Slot slot = null;
        Iterator iter000 = renamed_Class.classSlots();
        Cons collect000 = null;

        while (iter000.nextP()) {
          slot = ((Slot)(iter000.value));
          if (Stella_Object.storageSlotP(slot) &&
              (StorageSlot.nativeSlotP(((StorageSlot)(slot))) &&
               (Slot.nativeSlotHome(slot, renamed_Class) == renamed_Class))) {
            if (collect000 == null) {
              {
                collect000 = Cons.cons(StorageSlot.javaYieldInstanceVarTree(((StorageSlot)(slot)), renamed_Class), Stella.NIL);
                if (instancevardefs == Stella.NIL) {
                  instancevardefs = collect000;
                }
                else {
                  Cons.addConsToEndOfConsList(instancevardefs, collect000);
                }
              }
            }
            else {
              {
                collect000.rest = Cons.cons(StorageSlot.javaYieldInstanceVarTree(((StorageSlot)(slot)), renamed_Class), Stella.NIL);
                collect000 = collect000.rest;
              }
            }
          }
        }
      }
      { Surrogate renamed_Super = null;
        Cons iter001 = renamed_Class.classDirectSupers.theConsList;

        for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
          renamed_Super = ((Surrogate)(iter001.value));
          superclass = renamed_Super.getStellaClass(true);
          if (superclass.mixinP) {
            { Slot slot = null;
              Iterator iter002 = superclass.classSlots();
              Cons collect001 = null;

              while (iter002.nextP()) {
                slot = ((Slot)(iter002.value));
                if (Stella_Object.storageSlotP(slot) &&
                    (StorageSlot.nativeSlotP(((StorageSlot)(slot))) &&
                     (Slot.nativeSlotHome(slot, superclass) == superclass))) {
                  if (collect001 == null) {
                    {
                      collect001 = Cons.cons(StorageSlot.javaYieldInstanceVarTree(((StorageSlot)(slot)), superclass), Stella.NIL);
                      if (instancevardefs == Stella.NIL) {
                        instancevardefs = collect001;
                      }
                      else {
                        Cons.addConsToEndOfConsList(instancevardefs, collect001);
                      }
                    }
                  }
                  else {
                    {
                      collect001.rest = Cons.cons(StorageSlot.javaYieldInstanceVarTree(((StorageSlot)(slot)), superclass), Stella.NIL);
                      collect001 = collect001.rest;
                    }
                  }
                }
              }
            }
          }
        }
      }
      return (instancevardefs);
    }
  }