public static Cons idlYieldAttributeTree(StorageSlot slot, Stella_Class renamed_Class) {
    { Symbol slotname = Symbol.trueSlotName(slot.slotName, renamed_Class.classType);
      Stella_Object initialvalueform = slot.initially();
      Cons facetform = Stella.NIL;
      Slot mostgeneralslot = null;

      if (Stella_Class.idlClassCategory(renamed_Class) == Stella.SYM_STELLA_IDL_INTERFACE) {
        if (slot.slotReadOnlyP) {
          facetform = Cons.list$(Cons.cons(StringWrapper.wrapString("readonly"), Cons.cons(StringWrapper.wrapString("attribute"), Cons.cons(Stella.NIL, Stella.NIL))));
        }
        else {
          facetform = Cons.cons(StringWrapper.wrapString("attribute"), Stella.NIL);
        }
      }
      if (!(initialvalueform != null)) {
        initialvalueform = Stella.idlYieldInitialNullValue();
      }
      mostgeneralslot = slot;
      return (Cons.list$(Cons.cons(facetform.concatenate(Cons.cons(StandardObject.idlTranslateTypeSpec(mostgeneralslot.computeReturnTypeSpec(renamed_Class.classType)), Stella.NIL), Stella.NIL), Cons.cons(Symbol.idlTranslateName(slotname), Cons.cons(Cons.cons(initialvalueform, Stella.NIL), Stella.NIL)))));
    }
  }