Используя Jython в PyDev / Eclipse, я тоже задумался над этим. Завершение кода должно работать для методов MyClass1, которые вы использовали где-то еще в MyClass2, но не для всего API. Я думаю, это потому, что вы можете добавлять и удалять методы из класса на лету, поэтому Eclipse не может гарантировать, что какой-либо конкретный метод существует или что список методов завершен.
Например:
>>> class a:
... def b(self):
... print('b')
...
>>> anA = a()
>>> anA.b()
b
>>> del a.b
>>> anA.b()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: a instance has no attribute 'b'
Так что если завершение кода покажет вам метод b () здесь, это будет неправильно.
Аналогично,
>>> class a:
... pass
...
>>> anA = a()
>>> anA.b()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: a instance has no attribute 'b'
>>> def b(self):
... print('b')
...
>>> a.b = b
>>> anA.b()
b
Так что завершение кода, которое не показывало метод b (), было бы неправильным.
Я могу ошибаться, но я думаю, что это серьезное предположение. :)