mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fixed resolve of multiple inherited constructors for new-style MRO (PY-9080)
Integrated a C3 MRO algorithm implementation into PyClass.getAncestorTypes().
This commit is contained in:
@@ -122,17 +122,6 @@ public interface PyClass extends PsiNameIdentifierOwner, PyStatement, NameDefine
|
||||
@NotNull
|
||||
List<PyClassLikeType> getAncestorTypes(@NotNull TypeEvalContext context);
|
||||
|
||||
/**
|
||||
* Return the method resolution order list for this class.
|
||||
* <br/>
|
||||
* see http://www.python.org/download/releases/2.3/mro/
|
||||
* <br/>
|
||||
* <i>Note: the list begins with this class.</i> It ends with the builtin 'object'.
|
||||
* If class hierarchy is incorrect, e.g. badly looped, assertions may fail in implementation.
|
||||
* @return list of classes in method resolution order for this class, at least one element long.
|
||||
*/
|
||||
@NotNull List<PyClass> getMRO();
|
||||
|
||||
/**
|
||||
* Scan properties in order of definition, until processor returns true for one of them.
|
||||
* @param processor to check properties
|
||||
|
||||
Reference in New Issue
Block a user