Python Source Code Analysis: Where does `self` go when monkey patch a class member function to `eval()`?