use assignments if DFA is not available

This commit is contained in:
Gregory Shrago
2010-05-20 18:07:33 +04:00
parent 1f1d5d772b
commit 57b5f13e97
@@ -143,7 +143,6 @@ public class DfaUtil {
return codeBlock;
}
@Nullable("null means DFA analysis has failed (too complex to analyze)")
public static Collection<? extends PsiElement> getPossibleInitializationElements(final PsiElement qualifierExpression) {
if (qualifierExpression instanceof PsiMethodCallExpression) {
return Collections.singletonList(qualifierExpression);
@@ -152,8 +151,7 @@ public class DfaUtil {
final PsiElement targetElement = ((PsiReferenceExpression)qualifierExpression).resolve();
if (targetElement instanceof PsiVariable) {
final Collection<? extends PsiElement> variableValues = getCachedVariableValues((PsiVariable)targetElement, qualifierExpression);
if (variableValues == null) return null;
if (variableValues.isEmpty() && targetElement instanceof PsiField) {
if ((variableValues == null || variableValues.isEmpty())) {
return getVariableAssignmentsInFile((PsiVariable)targetElement, false);
}
return variableValues;