static PositionalParamSpec extractPositionalParamSpec(TypedMember member, IFactory factory) {
PositionalParamSpec.Builder builder = PositionalParamSpec.builder();
initCommon(builder, member);
Range arity = Range.parameterArity(member);
builder.arity(arity);
builder.index(Range.parameterIndex(member));
builder.capacity(Range.parameterCapacity(member));
builder.required(arity.min > 0);
Parameters parameters = member.getAnnotation(Parameters.class);
builder.interactive(parameters.interactive());
Class<?>[] elementTypes = inferTypes(member.getType(), parameters.type(), member.getGenericType());
builder.auxiliaryTypes(elementTypes);
builder.paramLabel(inferLabel(parameters.paramLabel(), member.name(), member.getType(), elementTypes));
builder.hideParamSyntax(parameters.hideParamSyntax());
builder.description(parameters.description());
builder.descriptionKey(parameters.descriptionKey());
builder.splitRegex(parameters.split());
builder.hidden(parameters.hidden());
builder.defaultValue(parameters.defaultValue());
builder.converters(DefaultFactory.createConverter(factory, parameters.converter()));
builder.showDefaultValue(parameters.showDefaultValue());
if (!NoCompletionCandidates.class.equals(parameters.completionCandidates())) {
builder.completionCandidates(DefaultFactory.createCompletionCandidates(factory, parameters.completionCandidates()));
}
return builder.build();
}
static PositionalParamSpec extractUnannotatedPositionalParamSpec(TypedMember member, IFactory factory) {