Path 1: 21 calls (0.36)

Arguments (21)

Arguments (21)

False (21)

NoDefault (21)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 2: 13 calls (0.22)

Arguments (13)

Arguments (13)

False (13)

NoDefault (13)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 3: 10 calls (0.17)

Arguments (10)

Arguments (10)

True (10)

NoDefault (10)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 4: 9 calls (0.15)

Arguments (9)

Arguments (9)

False (9)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 5: 3 calls (0.05)

Arguments (3)

Arguments (3)

True (3)

NoDefault (3)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 6: 1 calls (0.02)

Arguments (1)

Arguments (1)

True (1)

NoDefault (1)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 7: 1 calls (0.02)

Arguments (1)

Arguments (1)

True (1)

NoDefault (1)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False
            

Path 8: 1 calls (0.02)

Arguments (1)

Arguments (1)

True (1)

1def _has_different_parameters_default_value(
2    original: nodes.Arguments, overridden: nodes.Arguments
3) -> bool:
4    """Check if original and overridden methods arguments have different default values.
5
6    Return True if one of the overridden arguments has a default
7    value different from the default value of the original argument
8    If one of the method doesn't have argument (.args is None)
9    return False
10    """
11    if original.args is None or overridden.args is None:
12        return False
13
14    for param in chain(original.args, original.kwonlyargs):
15        try:
16            original_default = original.default_value(param.name)
17        except astroid.exceptions.NoDefault:
18            original_default = _DEFAULT_MISSING
19        try:
20            overridden_default = overridden.default_value(param.name)
21            if original_default is _DEFAULT_MISSING:
22                # Only the original has a default.
23                return True
24        except astroid.exceptions.NoDefault:
25            if original_default is _DEFAULT_MISSING:
26                # Both have a default, no difference
27                continue
28            # Only the override has a default.
29            return True
30
31        original_type = type(original_default)
32        if not isinstance(overridden_default, original_type):
33            # Two args with same name but different types
34            return True
35        is_same_fn: Callable[[Any, Any], bool] | None = ASTROID_TYPE_COMPARATORS.get(
36            original_type
37        )
38        if is_same_fn is None:
39            # If the default value comparison is unhandled, assume the value is different
40            return True
41        if not is_same_fn(original_default, overridden_default):
42            # Two args with same type but different values
43            return True
44    return False