protected void onWrapArgument(ParameterEntity param, Reflection.Arg arg) { param.setReference(arg.reference()); param.setType(arg.type()); param.setName(arg.value()); param.setNullable(arg.nullable()); if (arg.typeEnum() != Enum.class) { param.setTypeEnum(arg.typeEnum()); } param.setDefaultValue(null); if (arg.optional().exists() || !arg.optional().value().isEmpty() || (arg.type() != HintType.STRING && !arg.optional().value().isEmpty())){ param.setDefaultValue(MemoryUtils.valueOf(arg.optional().value(), arg.optional().type())); } if (!arg.typeClass().isEmpty()) param.setTypeClass(arg.typeClass()); else if (arg.nativeType() != IObject.class) { param.setTypeClass(ReflectionUtils.getClassName(arg.nativeType())); } }