Commit 2b1548d8 authored by Craig Citro's avatar Craig Citro

Fix for autotestdict & property not playing well together.

parent 1c9b9fba
......@@ -6,6 +6,7 @@ from PyrexTypes import py_object_type
from Builtin import dict_type
from StringEncoding import EncodedString
import Naming
import Symtab
class AutoTestDictTransform(ScopeTrackingTransform):
# Handles autotestdict directive
......@@ -82,7 +83,17 @@ class AutoTestDictTransform(ScopeTrackingTransform):
type=py_object_type,
is_py_attr=True,
is_temp=True)
name = "%s.%s" % (clsname, node.entry.name)
if isinstance(node.entry.scope, Symtab.PropertyScope):
new_node = AttributeNode(pos, obj=parent,
attribute=node.entry.scope.name,
type=py_object_type,
is_py_attr=True,
is_temp=True)
parent = new_node
name = "%s.%s.%s" % (clsname, node.entry.scope.name,
node.entry.name)
else:
name = "%s.%s" % (clsname, node.entry.name)
else:
assert False
getfunc = AttributeNode(pos, obj=parent,
......
......@@ -1726,7 +1726,7 @@ class PyArgDeclNode(Node):
class DecoratorNode(Node):
# A decorator
#
# decorator NameNode or CallNode
# decorator NameNode or CallNode or AttributeNode
child_attrs = ['decorator']
......
......@@ -3,12 +3,17 @@ cdef class Spam:
property eggs:
def __get__(self):
"""
This is the docstring for Spam.eggs.__get__
"""
return 42
def tomato():
"""
>>> tomato()
42
>>> sorted(__test__.keys())
[u'Spam.eggs.__get__ (line 5)', u'tomato (line 11)']
"""
cdef Spam spam
cdef object lettuce
......
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