diff --git a/codeflash/discovery/functions_to_optimize.py b/codeflash/discovery/functions_to_optimize.py index 2a33bc52d..3958f40cf 100644 --- a/codeflash/discovery/functions_to_optimize.py +++ b/codeflash/discovery/functions_to_optimize.py @@ -40,6 +40,10 @@ from codeflash.verification.verification_utils import TestConfig from rich.text import Text +_property_id = "property" + +_ast_name = ast.Name + @dataclass(frozen=True) class FunctionProperties: @@ -774,9 +778,8 @@ def function_has_return_statement(function_node: FunctionDef | AsyncFunctionDef) def function_is_a_property(function_node: FunctionDef | AsyncFunctionDef) -> bool: - property_id = "property" - ast_name = ast.Name for node in function_node.decorator_list: # noqa: SIM110 - if type(node) is ast_name and node.id == property_id: + # Use isinstance rather than type(...) is ... for better performance with single inheritance trees like ast + if isinstance(node, _ast_name) and node.id == _property_id: return True return False