mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract method with new inference
This commit is contained in:
+2
-6
@@ -36,7 +36,6 @@ import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.controlFlow.ControlFlowUtil;
|
||||
import com.intellij.psi.impl.source.PsiImmediateClassType;
|
||||
import com.intellij.psi.impl.source.resolve.DefaultParameterTypeInferencePolicy;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PropertyUtil;
|
||||
@@ -469,12 +468,9 @@ public class ExtractMethodObjectProcessor extends BaseRefactoringProcessor {
|
||||
final PsiTypeParameter[] methodTypeParameters = getMethod().getTypeParameters();
|
||||
if (methodTypeParameters.length > 0) {
|
||||
List<String> typeSignature = new ArrayList<String>();
|
||||
final PsiResolveHelper resolveHelper = JavaPsiFacade.getInstance(getMethod().getProject()).getResolveHelper();
|
||||
final PsiSubstitutor substitutor = methodCallExpression.resolveMethodGenerics().getSubstitutor();
|
||||
for (final PsiTypeParameter typeParameter : methodTypeParameters) {
|
||||
final PsiType type = resolveHelper.inferTypeForMethodTypeParameter(typeParameter, getMethod().getParameterList().getParameters(),
|
||||
methodCallExpression.getArgumentList().getExpressions(),
|
||||
PsiSubstitutor.EMPTY, methodCallExpression,
|
||||
DefaultParameterTypeInferencePolicy.INSTANCE);
|
||||
final PsiType type = substitutor.substitute(typeParameter);
|
||||
if (type == null || PsiType.NULL.equals(type)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -7,11 +7,12 @@ package com.intellij.refactoring;
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.refactoring.extractMethodObject.ExtractMethodObjectHandler;
|
||||
import com.intellij.refactoring.extractMethodObject.ExtractMethodObjectProcessor;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ExtractMethodObjectTest extends LightRefactoringTestCase {
|
||||
@@ -123,7 +124,7 @@ public class ExtractMethodObjectTest extends LightRefactoringTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LanguageLevel getLanguageLevel() {
|
||||
return LanguageLevel.JDK_1_7;
|
||||
protected Sdk getProjectJDK() {
|
||||
return IdeaTestUtil.getMockJdk18();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user