public static Stella_Object cppTranslateFunctionParameter(Symbol name, StandardObject type, MethodSlot method) {
    type = StandardObject.computeRelativeTypeSpec(type, method.slotOwner);
    if (((BooleanWrapper)(KeyValueList.dynamicSlotValue(method.dynamicSlots, Stella.SYM_STELLA_METHOD_VARIABLE_ARGUMENTSp, Stella.FALSE_WRAPPER))).wrapperValue &&
        ((MethodSlot.variableArgumentsName(method) == name) &&
         MethodSlot.passVariableArgumentsAsListP(method))) {
      type = MethodSlot.yieldListifiedVariableArgumentsType(method);
    }
    return (Cons.cons((StandardObject.cppReferenceTypeP(type) ? StandardObject.cppReferencizeType(type) : StandardObject.cppTranslateAndPointerizeTypeSpec(type)), Cons.cons(Symbol.cppTranslateName(name), Stella.NIL)));
  }