Method: pylint.checkers.classes.class_checker._has_different_parameters_default_value
Calls: 59, Exceptions: 49, Paths: 8Back
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