[Python-Dev] dis module and new-style classes (original) (raw)
Georg Brandl g.brandl at gmx.net
Thu Apr 6 21:21:09 CEST 2006
- Previous message: [Python-Dev] dis module and new-style classes
- Next message: [Python-Dev] dis module and new-style classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido van Rossum wrote:
I think it's fine as it is. I don't think making it walk the inheritance tree is helpful; the output would be too large. Also, an instance doesn't have any code and that's fine too.
Inheritance has nothing to do with that.
(Didn't you mean "dis.dis(D) doesn't touch C"?)
No.
On 4/6/06, Georg Brandl <g.brandl at gmx.net> wrote:
Hi,
dis.dis currently handles new-style classes stepmotherly: given class C(object): def Cm(): pass class D(object): def Dm(): pass dis.dis(C) doesn't touch D, and dis.dis(C()) doesn't touch anything. Should it be fixed? It may need some reworking in dis.dis.
Here is an example transcript to make clearer what I mean:
Python 2.4.2 (#1, Mar 12 2006, 00:14:41)
import dis class C: ... def Cm(): pass ... class D: ... def Dm(): pass ... dis.dis(C) Disassembly of Cm: 2 0 LOAD_CONST 0 (None) 3 RETURN_VALUE
Disassembly of D: Disassembly of Dm: 4 0 LOAD_CONST 0 (None) 3 RETURN_VALUE
dis.dis(C()) Disassembly of Cm: 2 0 LOAD_CONST 0 (None) 3 RETURN_VALUE
Disassembly of D: Disassembly of Dm: 4 0 LOAD_CONST 0 (None) 3 RETURN_VALUE
class Co(object): ... def Cm(): pass ... class Do(object): ... def Dm(): pass ... dis.dis(Co) Disassembly of Cm: 2 0 LOAD_CONST 0 (None) 3 RETURN_VALUE
dis.dis(Co())
- Previous message: [Python-Dev] dis module and new-style classes
- Next message: [Python-Dev] dis module and new-style classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]