Ticket #722 (new defect)

Opened 21 months ago

Final directive in pxd causes compiler crash

Reported by: vitja Owned by: somebody
Priority: major Milestone: wishlist
Component: Code Generation Keywords:
Cc:

Description

(_final_methods) vitja@mchome:~/work/cython-vitek-git/zzz$ cat x.pxd 
cimport cython

@cython.final
cdef class FinalClass:
    pass
(_final_methods) vitja@mchome:~/work/cython-vitek-git/zzz$ cat y.pyx 
cimport x

(_final_methods) vitja@mchome:~/work/cython-vitek-git/zzz$ python ../cython.py y.pyx 

Error compiling Cython file:
------------------------------------------------------------
...
cimport cython

@cython.final
cdef class FinalClass:
    ^
------------------------------------------------------------

x.pxd:4:5: Compiler crash in ExtractPxdCode

ModuleNode.body = StatListNode(x.pxd:1:0)
StatListNode.stats[1] = StatListNode(x.pxd:4:5)
StatListNode.stats[0] = CompilerDirectivesNode(x.pxd:4:5)

Compiler crash traceback from this point on:
  File "/home/vitja/work/cython-vitek-git/Cython/Compiler/Visitor.py", line 173, in _visitchild
    result = handler_method(child)
  File "/home/vitja/work/cython-vitek-git/Cython/Compiler/Visitor.py", line 275, in visit_CompilerDirectivesNode
    old = self.current_directives
AttributeError: 'ExtractPxdCode' object has no attribute 'current_directives'
Note: See TracTickets for help on using tickets.