mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-06 01:06:54 +07:00
While resolving an aliased method exported from a module, we might lose the context that it was referenced via instance and hence its first "self" parameter is already bound and doesn't need to be passed explicitly. The reason is PyResolveUtil#doResolveQualifiedNameInScope (called in PyTargetExpressionImpl.multiResolveAssignedValue) performs resolve over qualified names saved in PSI stubs and returns plain PsiElements (end results) that don't retain such information about their qualifiers. QualifiedResolveResult can't be used there either because we don't keep PyExpressions in PSI stubs. What's more, when later such function is referenced via some module we consider it definitely unbound, even though a module cannot possibly have a method as its immediate attribute. I changed the logic so that we no longer consider referencing a method through a module as somehow affecting its bound/unbound state. GitOrigin-RevId: 17a6c3e5d43c088d0663ba54651004c8370d5eca