mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-18096 Fixed: False positive "Type doesn't have expected attributes" for namedtuple
Introduce PyClassLikeType.getMemberNames(boolean, TypeEvalContext). This method returns all members including dynamically ones (e.g. fields of namedtuple)
This commit is contained in:
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author vlan
|
||||
@@ -42,8 +43,10 @@ public interface PyClassLikeType extends PyCallableType, PyWithAncestors {
|
||||
List<PyClassLikeType> getSuperClassTypes(@NotNull TypeEvalContext context);
|
||||
|
||||
@Nullable
|
||||
List<? extends RatedResolveResult> resolveMember(@NotNull final String name, @Nullable PyExpression location,
|
||||
@NotNull AccessDirection direction, @NotNull PyResolveContext resolveContext,
|
||||
List<? extends RatedResolveResult> resolveMember(@NotNull final String name,
|
||||
@Nullable PyExpression location,
|
||||
@NotNull AccessDirection direction,
|
||||
@NotNull PyResolveContext resolveContext,
|
||||
boolean inherited);
|
||||
|
||||
// TODO: Pull to PyType at next iteration
|
||||
@@ -58,6 +61,9 @@ public interface PyClassLikeType extends PyCallableType, PyWithAncestors {
|
||||
*/
|
||||
void visitMembers(@NotNull Processor<PsiElement> processor, boolean inherited, @NotNull TypeEvalContext context);
|
||||
|
||||
@NotNull
|
||||
Set<String> getMemberNames(boolean inherited, @NotNull TypeEvalContext context);
|
||||
|
||||
boolean isValid();
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user