public static MethodSlot defineMethodFromStringifiedSource(String methodname, String classname, String stringifiedsource) {
    {
      methodname = methodname;
      classname = classname;
    }
    { MethodSlot method = null;
      boolean identicalmethodP = false;

      { Object [] caller_MV_returnarray = new Object[1];

        method = Cons.helpDefineMethodFromParseTree(((Cons)(Stella.unstringifyStellaSource(stringifiedsource, null))), stringifiedsource, caller_MV_returnarray);
        identicalmethodP = ((boolean)(((BooleanWrapper)(caller_MV_returnarray[0])).wrapperValue));
      }
      if (!(identicalmethodP ||
          ((BooleanWrapper)(KeyValueList.dynamicSlotValue(method.dynamicSlots, Stella.SYM_STELLA_SLOT_AUXILIARYp, Stella.FALSE_WRAPPER))).wrapperValue)) {
        MethodSlot.attachMethodSlotToOwner(method);
      }
      return (method);
    }
  }