Set type eval origin for references in find usages if it isn't set (PY-9047)

This commit is contained in:
Andrey Vlasovskikh
2013-04-09 18:02:49 +04:00
parent 46e58f10c1
commit 75b825c771
5 changed files with 59 additions and 5 deletions
@@ -24,7 +24,7 @@ public class TypeEvalContext {
private final boolean myAllowStubToAST;
private List<String> myTrace;
private String myTraceIndent = "";
private final PsiFile myOrigin;
@Nullable private final PsiFile myOrigin;
private final Map<PyTypedElement, PyType> myEvaluated = new HashMap<PyTypedElement, PyType>();
private final ThreadLocal<Set<PyTypedElement>> myEvaluating = new ThreadLocal<Set<PyTypedElement>>() {
@@ -34,7 +34,7 @@ public class TypeEvalContext {
}
};
private TypeEvalContext(boolean allowDataFlow, boolean allowStubToAST, PsiFile origin) {
private TypeEvalContext(boolean allowDataFlow, boolean allowStubToAST, @Nullable PsiFile origin) {
myAllowDataFlow = allowDataFlow;
myAllowStubToAST = allowStubToAST;
myOrigin = origin;
@@ -139,4 +139,9 @@ public class TypeEvalContext {
public boolean maySwitchToAST(@NotNull StubBasedPsiElement element) {
return myAllowStubToAST || (element.getStub() == null && (myOrigin == null || myOrigin == element.getContainingFile()));
}
@Nullable
public PsiFile getOrigin() {
return myOrigin;
}
}