blob: e59ad218feb371b52c2ca4900a465524627a33f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# pylint: disable=missing-docstring, broad-exception-raised, too-few-public-methods, redefined-outer-name
# pylint: disable=consider-using-sys-exit, protected-access
import os
import signal
import sys
def func1():
return 1
print('unreachable') # [unreachable]
def func2():
while 1:
break
print('unreachable') # [unreachable]
def func3():
for i in (1, 2, 3):
print(i)
continue
print('unreachable') # [unreachable]
def func4():
raise Exception
return 1 / 0 # [unreachable]
# https://github.com/pylint-dev/pylint/issues/4698
def func5():
"""Empty generator functions should be allowed."""
return
yield
def func6():
"""Add 'unreachable' if yield is followed by another node."""
return
yield
print("unreachable") # [unreachable]
def func7():
sys.exit(1)
var = 2 + 2 # [unreachable]
print(var)
def func8():
signal.signal(signal.SIGTERM, lambda *args: sys.exit(0))
try:
print(1)
except KeyboardInterrupt:
pass
class FalseExit:
def exit(self, number):
print(f"False positive this is not sys.exit({number})")
def func_false_exit():
sys = FalseExit()
sys.exit(1)
var = 2 + 2
print(var)
def func9():
os._exit()
var = 2 + 2 # [unreachable]
print(var)
def func10():
exit()
var = 2 + 2 # [unreachable]
print(var)
def func11():
quit()
var = 2 + 2 # [unreachable]
print(var)
incognito_function = sys.exit
def func12():
incognito_function()
var = 2 + 2 # [unreachable]
print(var)
|