mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
If there is an overload not followed by an implementation, which is already an error, always resolve to the first overload, regardless of whether it's a .py file, or a .pyi stub. It allows us to eliminate the special RatedResolveResult#RATE_LIFTED_PY_FILE_OVERLOAD rate in .py files, because we no longer need to duplicate the last, closest reachable overload (normally an implementation should be reachable) with a higher priority, and then filter it out during overload resolution. Meanwhile, this filtering out didn't work right before because some type inference logic, e.g., PyCallExpressionHelper.getCalleeType used in PyReferenceExpressionImpl.getCallableType bypassed it. It should have been done at the level of PyCallExpressionHelper.forEveryScopeTakeOverloadsOtherwiseImplementations. (cherry picked from commit 99a624ab85957d7a2d3c2c0ced596e472f9d615b) IJ-MR-148398 GitOrigin-RevId: c2cdfe8c8b046118f4e6f7269dbf7848dd746e08