public static Cons yieldNativeSlotValueSetterTree(StorageSlot slot, Stella_Object objectref, StandardObject objecttype, Stella_Object valueref) {
    slot = StorageSlot.canonicalSlot(slot);
    { boolean mixinslotP = ((Stella_Class)(slot.slotOwner.surrogateValue)).mixinP;
      Stella_Class objectclass = StandardObject.typeSpecToClass(objecttype);

      if (mixinslotP &&
          Stella.translateToSingleInheritanceLanguageP()) {
        if (objectclass.mixinP) {
          return (Stella_Object.sysTree(Cons.list$(Cons.cons(Stella.SYM_STELLA_SYS_CALL_METHOD, Cons.cons(Stella.SGT_STELLA_OBJECT, Cons.cons(StorageSlot.yieldNativeSlotReaderName(slot), Cons.cons(Cons.cons(objectref, Cons.cons(valueref, Stella.NIL)), Stella.NIL))))), ((((CompoundTypeSpecifier)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Stella.SYM_STELLA_SLOT_TYPE_SPECIFIER, null))) != null) ? ((StandardObject)(((CompoundTypeSpecifier)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Stella.SYM_STELLA_SLOT_TYPE_SPECIFIER, null))))) : ((StandardObject)(slot.slotBaseType))), new Object[1]));
        }
      }
      if (slot.slotHardwiredP) {
        { 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 set the value of the hardwired slot `" + slot.slotOwner + "'.`" + slot.slotName + "'.");
              }
;
            }

          } finally {
            Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
          }
        }
        return (Stella_Object.walkDontCallMeTree(null, slot.slotBaseType, new Object[1]));
      }
      return (Cons.list$(Cons.cons(Stella.SYM_STELLA_SYS_SLOT_VALUE_SETTER, Cons.cons(objectclass.classType, Cons.cons(Cons.cons(slot.slotName, Cons.cons(objectref, Cons.cons(valueref, Stella.NIL))), Stella.NIL)))));
    }
  }