Hi,
I have some problems for translating calls to unbound methods.
Let's show with an example:
class MyClass:
def __init__(self, x):
self.x = x
class MyDerivedClass(MyClass):
def __init__(self, x):
MyClass.__init__(self, x)
During rtyping the field and method names are mangled, so the __init__
method became something like 'o__init____variant0': as long as I call
bound methods this is not a problem because the low-level op oosend
contains the right mangled name, but difficult arises when I try to call
an unbound method such as the one showed above; the low-level op that I
obtain is this:
v9 = direct_call((<pypy.rpython.ootypesystem.ootype._static_meth object
at 0xb78e51ac>), self_1, x_2)
Let 'x = op.args[0].value':
(Pdb) x._name
'Base.__init__'
(Pdb) x.graph.name
'Base.__init__'
As you can see I can read only the original unmangled name, but it is
useless because I've to deal with the mangled one.
I've tried to search around for a place where to read that but I
couldn't find it. How can I do?
thanks for the help
ciao Anto
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev