blob: 213c05b7d326d8a6dc40c5cc233339ace590421b (
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
|
# pylint: disable=missing-docstring, too-few-public-methods
import abc
class SuperClass(metaclass=abc.ABCMeta):
@property
@abc.abstractmethod
def prop(self):
pass
@abc.abstractmethod
async def async_method(self):
pass
@abc.abstractmethod
def method_a(self):
pass
@abc.abstractmethod
def method_b(self):
pass
class ValidDerived(SuperClass):
@property
def prop(self):
return None
async def async_method(self):
return None
def method_a(self):
pass
def method_b(self):
pass
class InvalidDerived(SuperClass):
def prop(self): # [invalid-overridden-method]
return None
def async_method(self): # [invalid-overridden-method]
return None
@property
def method_a(self): # [invalid-overridden-method]
return None
async def method_b(self): # [invalid-overridden-method]
return None
class Property:
@property
def close(self):
pass
class PropertySetter(Property):
@property
def close(self):
pass
@close.setter
def close(self, attr):
return attr
@close.deleter
def close(self):
return None
class AbstractProperty:
@abc.abstractproperty
def prop(self):
return
|