def _no_context_variadic(node, variadic_name, variadic_type, variadics):
statement = node.statement()<EOL>for name in statement.nodes_of_class(astroid.Name):<EOL><INDENT>if name.name != variadic_name:<EOL><INDENT>continue<EOL><DEDENT>inferred = safe_infer(name)<EOL>if isinstance(inferred, (astroid.List, astroid.Tuple)):<EOL><INDENT>length = len(inferred.elts)<EOL><DEDENT>elif isinstance(inferred, astroid.Dict):<EOL><INDENT>length = len(inferred.items)<EOL><DEDENT>else:<EOL><INDENT>continue<EOL><DEDENT>inferred_statement = inferred.statement()<EOL>if not length and isinstance(inferred_statement, astroid.FunctionDef):<EOL><INDENT>is_in_starred_context = _has_parent_of_type(node, variadic_type, statement)<EOL>used_as_starred_argument = _is_name_used_as_variadic(name, variadics)<EOL>if is_in_starred_context or used_as_starred_argument:<EOL><INDENT>return True<EOL><DEDENT><DEDENT><DEDENT>return False<EOL>
Verify if the given call node has variadic nodes without context

    This is a workaround for handling cases of nested call functions
    which don't have the specific call context at hand.
    Variadic arguments (variable positional arguments and variable
    keyword arguments) are inferred, inherently wrong, by astroid
    as a Tuple, respectively a Dict with empty elements.
    This can lead pylint to believe that a function call receives
    too few arguments.