Path 1: 7349 calls (0.62)

Name (7184) AssignName (161) DelName (4)

FunctionDef (6557) Lambda (685) AsyncFunctionDef (107)

False (7280) True (69)

GeneratorExit (69)

1def is_default_argument(node: nodes.NodeNG, scope: nodes.NodeNG | None = None) -> bool:
2    """Return true if the given Name node is used in function or lambda
3    default argument's value.
4    """
5    if not scope:
6        scope = node.scope()
7    if isinstance(scope, (nodes.FunctionDef, nodes.Lambda)):
8        all_defaults = itertools.chain(
9            scope.args.defaults, (d for d in scope.args.kw_defaults if d is not None)
10        )
11        return any(
12            default_name_node is node
13            for default_node in all_defaults
14            for default_name_node in default_node.nodes_of_class(nodes.Name)
15        )
16
17    return False
            

Path 2: 4509 calls (0.38)

Name (4426) AssignName (73) DelName (10)

Module (3695) ClassDef (814)

False (4509)

1def is_default_argument(node: nodes.NodeNG, scope: nodes.NodeNG | None = None) -> bool:
2    """Return true if the given Name node is used in function or lambda
3    default argument's value.
4    """
5    if not scope:
6        scope = node.scope()
7    if isinstance(scope, (nodes.FunctionDef, nodes.Lambda)):
8        all_defaults = itertools.chain(
9            scope.args.defaults, (d for d in scope.args.kw_defaults if d is not None)
10        )
11        return any(
12            default_name_node is node
13            for default_node in all_defaults
14            for default_name_node in default_node.nodes_of_class(nodes.Name)
15        )
16
17    return False
            

Path 3: 5 calls (0.0)

Name (5)

None (5)

True (3) False (2)

GeneratorExit (3)

1def is_default_argument(node: nodes.NodeNG, scope: nodes.NodeNG | None = None) -> bool:
2    """Return true if the given Name node is used in function or lambda
3    default argument's value.
4    """
5    if not scope:
6        scope = node.scope()
7    if isinstance(scope, (nodes.FunctionDef, nodes.Lambda)):
8        all_defaults = itertools.chain(
9            scope.args.defaults, (d for d in scope.args.kw_defaults if d is not None)
10        )
11        return any(
12            default_name_node is node
13            for default_node in all_defaults
14            for default_name_node in default_node.nodes_of_class(nodes.Name)
15        )
16
17    return False
            

Path 4: 1 calls (0.0)

Name (1)

None (1)

False (1)

1def is_default_argument(node: nodes.NodeNG, scope: nodes.NodeNG | None = None) -> bool:
2    """Return true if the given Name node is used in function or lambda
3    default argument's value.
4    """
5    if not scope:
6        scope = node.scope()
7    if isinstance(scope, (nodes.FunctionDef, nodes.Lambda)):
8        all_defaults = itertools.chain(
9            scope.args.defaults, (d for d in scope.args.kw_defaults if d is not None)
10        )
11        return any(
12            default_name_node is node
13            for default_node in all_defaults
14            for default_name_node in default_node.nodes_of_class(nodes.Name)
15        )
16
17    return False