Skip to content

get_parameter_list

Source code in library_analyzer/processing/api/_get_parameter_list.py
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