Path 1: 7713 calls (0.84)

FunctionDef (7463) UnboundMethod (126) AsyncFunctionDef (122) BoundMethod (2)

('setter',) (3726) ('deleter',) (3545) ('setter', 'deleter') (442)

False (7713)

1def _is_property_kind(node: nodes.NodeNG, *kinds: str) -> bool:
2    if not isinstance(node, (astroid.UnboundMethod, nodes.FunctionDef)):
3        return False
4    if node.decorators:
5        for decorator in node.decorators.nodes:
6            if isinstance(decorator, nodes.Attribute) and decorator.attrname in kinds:
7                return True
8    return False
            

Path 2: 1276 calls (0.14)

FunctionDef (1246) AsyncFunctionDef (14) UnboundMethod (11) BoundMethod (5)

('setter',) (626) ('deleter',) (596) ('setter', 'deleter') (54)

False (1276)

1def _is_property_kind(node: nodes.NodeNG, *kinds: str) -> bool:
2    if not isinstance(node, (astroid.UnboundMethod, nodes.FunctionDef)):
3        return False
4    if node.decorators:
5        for decorator in node.decorators.nodes:
6            if isinstance(decorator, nodes.Attribute) and decorator.attrname in kinds:
7                return True
8    return False
            

Path 3: 82 calls (0.01)

ClassDef (72) Module (10)

('setter',) (82)

False (82)

1def _is_property_kind(node: nodes.NodeNG, *kinds: str) -> bool:
2    if not isinstance(node, (astroid.UnboundMethod, nodes.FunctionDef)):
3        return False
4    if node.decorators:
5        for decorator in node.decorators.nodes:
6            if isinstance(decorator, nodes.Attribute) and decorator.attrname in kinds:
7                return True
8    return False
            

Path 4: 58 calls (0.01)

FunctionDef (55) UnboundMethod (3)

('setter',) (51) ('setter', 'deleter') (4) ('deleter',) (3)

True (58)

1def _is_property_kind(node: nodes.NodeNG, *kinds: str) -> bool:
2    if not isinstance(node, (astroid.UnboundMethod, nodes.FunctionDef)):
3        return False
4    if node.decorators:
5        for decorator in node.decorators.nodes:
6            if isinstance(decorator, nodes.Attribute) and decorator.attrname in kinds:
7                return True
8    return False