Improve javadoc for PointInImport and clean up a bit in ResolveImportUtil
(cherry picked from commit 8a75043)
Remove unused declarations from PyUtil
(cherry picked from commit c2bd7f6)
Do not reuse replaced (thus invalid) PSI element in PyMoveFileHandler#retargetUsages

Also added several @Nullable/@NotNull annotations in
PyClassRefactoringUtil.
(cherry picked from commit 309343f)
PY-14384 Check that existing import is not relative when searching for duplicate imports
(cherry picked from commit a7d0e5c)
Remove dots before relative import source when replacing reference to moved package/module

For now we strive to replace relative imports with absolute imports
during "Move" refactoring. If we replace reference in specific
import element like in "from ..pkg import moved" we substitute
import statement altogether with "..pkg" part. However if reference was
in source part of relative import, e.g. "from ..moved import smth",
previously we'd only replaced corresponding reference expression
("moved") and left preceding dots untouched, and that was wrong.
(cherry picked from commit 1d1348d)
PY-14365 Do not show object and __Classobj in AutoImportQuickFix

Excluded them from the list of base classes that may be shown in
description and list items in the quick fix UI.
(cherry picked from commit 0a411c1)
PY-9209 Insert a space after '#' sign when using smart enter in comment
(cherry picked from commit 99f4933)
Use more reliable test data as pointed in IDEA-COMMUNITY-CR-936
(cherry picked from commit 7b798d9)
Replace unittest module in mock sdk with skeleton that contains only TestCase class

Original layout of the package was preserved.
(cherry picked from commit acfe263)
PY-13791 Do not ignore unresolved attributes of functions annotated only with built-in decorators
(cherry picked from commit 80203d3)
PY-14158 Remove PyUnresolvedReferenceInspection from inspection-black-list.txt

It turned out that PyUnresolvedReferenceInspection was indeed initially
included inspection-black-list.txt. But at some moment it was moved to
subpackage and that broke its settings. Because we already use new
serialization format for this inspection (see fix for PY-14359), it
doesn't make sense to keep this class in the blacklist anymore.
(cherry picked from commit 614769c)
PY-13264 Consider qualifier of reference expression when collecting names used in function
(cherry picked from commit 800dc9e)
Do not count referenced attributes as used names PyRefactoringUtil#collectUsedNames
(cherry picked from commit 675a8cc)
PY-14432 Update relative import inside moved module/package
(cherry picked from commit 536caec)
Fix AIOOBE in PyImportOptimizer in case of incomplete import statement
(cherry picked from commit db6410e)
PY-13114 Inlining of method call does not add extra parenthesis

Fix prioritization problem: reference expressions should have the same
priority as indexing, slicing and function calls.
(cherry picked from commit e3fc0ee)
PY-14432 Handle relative imports of modules, not only packages
(cherry picked from commit 38ee0bd)
Make several improvements in AddImportHelper

* Added missing javadoc and @Nullable/@NotNull annotations to
several methods
* Renamed addImportFromStatement to addFromImportStatement to be
consistent with PSI
* Renamed addImportFrom to addOrUpdateImportFrom to emphasise its
intended behavior
(cherry picked from commit 38397c6)
"Move file/symbol" refactoring does not permute updated imports

Previously new imports were always inserted after all other imports in
containing statement list, even if they were intended to replace
another existing import. I've changed meaning of "anchor" parameter a
bit, so that it can be used to specify exact insertion place for
new import.
(cherry picked from commit a15001d)
PY-14331 Do not show excluded folders in import completion
(cherry picked from commit 09c1e97)