public static void computeSlotDirectEquivalent(Slot self) {
    { Stella_Class renamed_Class = ((Stella_Class)(self.slotOwner.surrogateValue));
      Symbol slotname = self.slotName;
      Symbol slotrenames = ((Symbol)(KeyValueList.dynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_SLOT_RENAMES, null)));
      Slot renamesslot = null;

      if (slotrenames != null) {
        { Slot value000 = null;

          { Slot s = null;
            Iterator iter000 = renamed_Class.classSlots();

            loop000 : while (iter000.nextP()) {
              s = ((Slot)(iter000.value));
              if (s.slotName == slotrenames) {
                value000 = s;
                break loop000;
              }
            }
          }
          renamesslot = value000;
        }
        if (renamesslot != null) {
          self.slotDirectEquivalent = renamesslot;
          renamesslot.slotRenamedP = true;
        }
        else {
          {
            Stella.STANDARD_WARNING.nativeStream.println("Warning: Slot `" + slotname + "' renames a non-existent self: `" + slotrenames + "'.");
            Stella.STANDARD_WARNING.nativeStream.println("Cancelling the renames option.");
          }
;
          KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_SLOT_RENAMES, null, null);
        }
      }
      else {
        { Slot value001 = null;

          { Slot s = null;
            Iterator iter001 = renamed_Class.classSlots();

            loop001 : while (iter001.nextP()) {
              s = ((Slot)(iter001.value));
              if ((!(s == self)) &&
                  (s.slotName == slotname)) {
                value001 = s;
                break loop001;
              }
            }
          }
          self.slotDirectEquivalent = value001;
        }
      }
    }
  }