Inline __slots__ invalidation logic into PyClass (PY-29268)

This commit is contained in:
Semyon Proshev
2018-03-29 22:50:24 +03:00
parent 74d1d6b18b
commit 54898c22c6
6 changed files with 42 additions and 13 deletions

View File

@@ -266,7 +266,13 @@ public interface PyClass extends PsiNameIdentifierOwner, PyStatement, PyDocStrin
boolean isSubclass(@NotNull String superClassQName, @Nullable TypeEvalContext context);
/**
* Returns the aggregated list of names defined in __slots__ attributes of the class and its ancestors.
* Returns the aggregated list of names defined in `__slots__` attributes of the class and its ancestors.
* <p>
* Returned value is `null` if class or at least one of its ancestor does not follow the next conditions:
* <ul>
* <li>it should be a new style class</li>
* <li>its `__slots__` should exist and should not contain `__dict__`</li>
* </ul>
*
* @param context (will be used default if null)
*/