Moved TypeUtils#getMethodReturnType -> PsiTypesUtil; used in LambdaUtil#getFunctionalInterfaceType amd PsiTypesUtil#getExpectedTypeByParent (IDEA-CR-15590)

This commit is contained in:
Tagir Valeev
2016-11-11 10:23:15 +07:00
parent 793a8df8d0
commit 67c4dfb483
11 changed files with 32 additions and 50 deletions
@@ -19,7 +19,7 @@ import com.intellij.codeInsight.CodeInsightUtil;
import com.intellij.codeInsight.ImportFilter;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiTypesUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.Processor;
@@ -79,13 +79,7 @@ abstract class StaticMembersProcessor<T extends PsiMember & PsiDocCommentOwner>
}
}
else if (parent instanceof PsiReturnStatement) {
final PsiElement psiElement = PsiTreeUtil.getParentOfType(parent, PsiLambdaExpression.class, PsiMethod.class);
if (psiElement instanceof PsiLambdaExpression) {
return LambdaUtil.getFunctionalInterfaceReturnType(((PsiLambdaExpression)psiElement).getFunctionalInterfaceType());
}
else if (psiElement instanceof PsiMethod) {
return ((PsiMethod)psiElement).getReturnType();
}
return PsiTypesUtil.getMethodReturnType(parent);
}
else if (parent instanceof PsiExpressionList) {
final PsiElement pParent = parent.getParent();
@@ -23,9 +23,9 @@ import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.controlFlow.*;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiTypesUtil;
import com.intellij.refactoring.util.RefactoringUtil;
import com.siyeh.ig.psiutils.ExpressionUtils;
import com.siyeh.ig.psiutils.TypeUtils;
import gnu.trove.THashMap;
import gnu.trove.THashSet;
import org.jetbrains.annotations.Nls;
@@ -61,7 +61,7 @@ public class ReturnSeparatedFromComputationInspection extends BaseJavaBatchLocal
final PsiCodeBlock returnScope = (PsiCodeBlock)returnParent;
final PsiStatement[] statements = returnScope.getStatements();
if (statements.length != 0 && statements[statements.length - 1] == returnStatement) {
final PsiType returnType = TypeUtils.getMethodReturnType(returnStatement);
final PsiType returnType = PsiTypesUtil.getMethodReturnType(returnStatement);
if (returnType != null) {
PsiStatement refactoredStatement = getPrevNonEmptyStatement(returnStatement, null);
if (refactoredStatement != null) {
@@ -44,7 +44,6 @@ import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.HashMap;
import com.intellij.util.containers.HashSet;
import com.intellij.util.containers.Queue;
import com.siyeh.ig.psiutils.TypeUtils;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -532,7 +531,7 @@ public abstract class TurnRefsToSuperProcessorBase extends BaseRefactoringProces
final PsiElement parent = element.getParent();
if (parent instanceof PsiReturnStatement) {
constrainingType = TypeUtils.getMethodReturnType(parent);
constrainingType = PsiTypesUtil.getMethodReturnType(parent);
}
else if (parent instanceof PsiAssignmentExpression) {
constrainingType = ((PsiAssignmentExpression)parent).getLExpression().getType();