public static int clStructSlotOffset(Symbol slotname, Surrogate classtype) {
    { List slots = Stella_Class.clStructSlots(((Stella_Class)(classtype.surrogateValue)));
      int offset = 1;

      { StorageSlot slot = null;
        Cons iter000 = slots.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          slot = ((StorageSlot)(iter000.value));
          if (slot.slotName == slotname) {
            return (offset);
          }
          else {
            offset = offset + 1;
          }
        }
      }
      { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

        try {
          Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
          Stella.signalTranslationError();
          if (!(Stella.suppressWarningsP())) {
            Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
            {
              Stella.STANDARD_ERROR.nativeStream.println();
              Stella.STANDARD_ERROR.nativeStream.println(" Can't find slot `" + Stella_Object.deUglifyParseTree(slotname) + "' on CL-struct class `" + Stella_Object.deUglifyParseTree(classtype) + "'.");
            }
;
          }

        } finally {
          Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
        }
      }
      return (Stella.NULL_INTEGER);
    }
  }