Path 1: 72 calls (0.92)

BoolOp (72)

2 (55) 3 (13) 5 (2) 6 (1) 7 (1)

1def _count_boolean_expressions(bool_op: nodes.BoolOp) -> int:
2    """Counts the number of boolean expressions in BoolOp `bool_op` (recursive).
3
4    example: a and (b or c or (d and e)) ==> 5 boolean expressions
5    """
6    nb_bool_expr = 0
7    for bool_expr in bool_op.get_children():
8        if isinstance(bool_expr, astroid.BoolOp):
9            nb_bool_expr += _count_boolean_expressions(bool_expr)
10        else:
11            nb_bool_expr += 1
12    return nb_bool_expr
            

Path 2: 6 calls (0.08)

BoolOp (6)

4 (2) 6 (2) 3 (1) 5 (1)

1def _count_boolean_expressions(bool_op: nodes.BoolOp) -> int:
2    """Counts the number of boolean expressions in BoolOp `bool_op` (recursive).
3
4    example: a and (b or c or (d and e)) ==> 5 boolean expressions
5    """
6    nb_bool_expr = 0
7    for bool_expr in bool_op.get_children():
8        if isinstance(bool_expr, astroid.BoolOp):
9            nb_bool_expr += _count_boolean_expressions(bool_expr)
10        else:
11            nb_bool_expr += 1
12    return nb_bool_expr