public static void createMixinMethodUnits(Stella_Class renamed_Class) {
    if (renamed_Class.mixinP &&
        ((!Stella.translateToSingleInheritanceLanguageP()) ||
         (!(Stella.$MIXIN_IMPLEMENTATION_STYLE$ == Stella.KWD_SECOND_CLASS)))) {
      { Slot slot = null;
        Cons iter000 = renamed_Class.classLocalSlots.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          slot = ((Slot)(iter000.value));
          if (Stella_Object.methodSlotP(slot)) {
            MethodSlot.registerAuxiliaryMethod(((MethodSlot)(Cons.helpWalkAuxiliaryTree(MethodSlot.yieldMixinMethodTree(((MethodSlot)(slot)), ((Stella_Class)(Stella.SGT_STELLA_OBJECT.surrogateValue))), true).theObject)), slot);
          }
        }
      }
    }
    else {
      { List mixinmethods = List.newList();
        List supermethods = List.newList();

        { Surrogate renamed_Super = null;
          Cons iter001 = renamed_Class.classDirectSupers.theConsList;

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

                while (iter002.nextP()) {
                  slot = ((Slot)(iter002.value));
                  if (Stella_Object.methodSlotP(slot) &&
                      (Slot.nativeSlotHome(slot, renamed_Class) == renamed_Class)) {
                    if (slot.slotDirectEquivalent != null) {
                      supermethods.insertNew(((MethodSlot)(slot.slotDirectEquivalent)));
                    }
                    if (!(supermethods.memberP(slot))) {
                      mixinmethods.insertNew(((MethodSlot)(slot)));
                    }
                  }
                }
              }
            }
          }
        }
        { MethodSlot method = null;
          Cons iter003 = mixinmethods.reverse().theConsList;

          for (;!(iter003 == Stella.NIL); iter003 = iter003.rest) {
            method = ((MethodSlot)(iter003.value));
            MethodSlot.registerAuxiliaryMethod(((MethodSlot)(Cons.helpWalkAuxiliaryTree(MethodSlot.yieldMixinMethodTree(method, renamed_Class), true).theObject)), method);
          }
        }
      }
    }
  }