Method: pylint.checkers.utils.has_known_bases
Calls: 7092, Exceptions: 1508, Paths: 5Back
Path 1: 5584 calls (0.79)
ClassDef (3856) List (490) Dict (478) Instance (450) Tuple (178) Const (99) Set (26) FrozenSet (4) ExceptionInstance (2) Generator (1)
None (5584)
True (5522) False (62)
1def has_known_bases(
2 klass: nodes.ClassDef, context: InferenceContext | None = None
3) -> bool:
4 """Return true if all base classes of a class could be inferred."""
5 try:
6 return klass._all_bases_known # type: ignore[no-any-return]
7 except AttributeError:
8 pass
9 for base in klass.bases:
10 result = safe_infer(base, context=context)
11 if (
12 not isinstance(result, nodes.ClassDef)
13 or result is klass
14 or not has_known_bases(result, context=context)
15 ):
16 klass._all_bases_known = False
17 return False
18 klass._all_bases_known = True
19 return True
Path 2: 768 calls (0.11)
ClassDef (723) Instance (25) Const (10) Generator (5) AsyncGenerator (5)
None (768)
True (768)
AttributeError (768)
1def has_known_bases(
2 klass: nodes.ClassDef, context: InferenceContext | None = None
3) -> bool:
4 """Return true if all base classes of a class could be inferred."""
5 try:
6 return klass._all_bases_known # type: ignore[no-any-return]
7 except AttributeError:
8 pass
9 for base in klass.bases:
10 result = safe_infer(base, context=context)
11 if (
12 not isinstance(result, nodes.ClassDef)
13 or result is klass
14 or not has_known_bases(result, context=context)
15 ):
16 klass._all_bases_known = False
17 return False
18 klass._all_bases_known = True
19 return True
Path 3: 708 calls (0.1)
ClassDef (359) Instance (311) Const (20) Tuple (10) Dict (6) Set (1) FrozenSet (1)
None (708)
True (708)
AttributeError (708)
1def has_known_bases(
2 klass: nodes.ClassDef, context: InferenceContext | None = None
3) -> bool:
4 """Return true if all base classes of a class could be inferred."""
5 try:
6 return klass._all_bases_known # type: ignore[no-any-return]
7 except AttributeError:
8 pass
9 for base in klass.bases:
10 result = safe_infer(base, context=context)
11 if (
12 not isinstance(result, nodes.ClassDef)
13 or result is klass
14 or not has_known_bases(result, context=context)
15 ):
16 klass._all_bases_known = False
17 return False
18 klass._all_bases_known = True
19 return True
Path 4: 30 calls (0.0)
ClassDef (24) Instance (6)
None (30)
False (30)
AttributeError (30)
1def has_known_bases(
2 klass: nodes.ClassDef, context: InferenceContext | None = None
3) -> bool:
4 """Return true if all base classes of a class could be inferred."""
5 try:
6 return klass._all_bases_known # type: ignore[no-any-return]
7 except AttributeError:
8 pass
9 for base in klass.bases:
10 result = safe_infer(base, context=context)
11 if (
12 not isinstance(result, nodes.ClassDef)
13 or result is klass
14 or not has_known_bases(result, context=context)
15 ):
16 klass._all_bases_known = False
17 return False
18 klass._all_bases_known = True
19 return True
Path 5: 2 calls (0.0)
ClassDef (2)
None (2)
False (2)
AttributeError (2)
1def has_known_bases(
2 klass: nodes.ClassDef, context: InferenceContext | None = None
3) -> bool:
4 """Return true if all base classes of a class could be inferred."""
5 try:
6 return klass._all_bases_known # type: ignore[no-any-return]
7 except AttributeError:
8 pass
9 for base in klass.bases:
10 result = safe_infer(base, context=context)
11 if (
12 not isinstance(result, nodes.ClassDef)
13 or result is klass
14 or not has_known_bases(result, context=context)
15 ):
16 klass._all_bases_known = False
17 return False
18 klass._all_bases_known = True
19 return True