def get_parameter_list(
documentation_parser: AbstractDocumentationParser,
function_node: astroid.FunctionDef,
function_id: str,
function_qname: str,
function_is_public: bool,
) -> list[Parameter]:
parameters_assigned_by = _get_parameters_assigned_by(function_node)
result = []
for parameter_name in function_node.argnames():
parameter_assigned_by = parameters_assigned_by[parameter_name]
result.append(
Parameter(
id_=function_id + "/" + parameter_name,
name=parameter_name,
qname=function_qname + "." + parameter_name,
default_value=_get_stringified_default_value(
function_node, parameter_name
),
assigned_by=parameter_assigned_by,
is_public=function_is_public,
documentation=documentation_parser.get_parameter_documentation(
function_node, parameter_name, parameter_assigned_by
),
)
)
return result