Commit 64c45122 authored by mattip's avatar mattip

MAINT: refactor from review

parent 53eb14de
...@@ -2245,7 +2245,14 @@ class ReplacePropertyNode(CythonTransform): ...@@ -2245,7 +2245,14 @@ class ReplacePropertyNode(CythonTransform):
return node return node
# transform @property decorators on ctypedef class functions # transform @property decorators on ctypedef class functions
for decorator_node in node.decorators[::-1]: for decorator_node in node.decorators[::-1]:
decorator = decorator_node.decorator _node = self.analyse_decorator(node, decorator_node.decorator)
if _node:
node.decorators.remove(decorator_node)
node = _node
break
return node
def analyse_decorator(self, node, decorator):
if decorator.is_name and decorator.name == 'property': if decorator.is_name and decorator.name == 'property':
if len(node.decorators) > 1: if len(node.decorators) > 1:
return self._reject_decorated_property(node, decorator_node) return self._reject_decorated_property(node, decorator_node)
...@@ -2253,10 +2260,8 @@ class ReplacePropertyNode(CythonTransform): ...@@ -2253,10 +2260,8 @@ class ReplacePropertyNode(CythonTransform):
node.type.is_cgetter = True node.type.is_cgetter = True
# Add a func_cname to be output instead of the attribute # Add a func_cname to be output instead of the attribute
node.entry.func_cname = node.body.stats[0].value.function.name node.entry.func_cname = node.body.stats[0].value.function.name
# done - remove the decorator node return node
node.decorators.remove(decorator_node) return None
return [node]
return [node]
class FindInvalidUseOfFusedTypes(CythonTransform): class FindInvalidUseOfFusedTypes(CythonTransform):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment