From a591f4e58e713b3030597fe22af2bb8aa977cb06 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Wed, 30 May 2018 10:54:47 +0700 Subject: [PATCH] CreateTypeParameterFromUsage: ignore when identifier is in call IDEA-192775 --- .../impl/quickfix/CreateTypeParameterFromUsageFix.java | 3 ++- .../beforeMethodIdentifier.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeMethodIdentifier.java diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateTypeParameterFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateTypeParameterFromUsageFix.java index 6a02ddab1c51..d8be62e62673 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateTypeParameterFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateTypeParameterFromUsageFix.java @@ -161,7 +161,8 @@ public class CreateTypeParameterFromUsageFix extends BaseIntentionAction { static Context from(@NotNull PsiJavaCodeReferenceElement element, boolean findFirstOnly) { if (!PsiUtil.isLanguageLevel5OrHigher(element)) return null; if (element.isQualified()) return null; - if (element.getParent() instanceof PsiJavaCodeReferenceElement) return null; + PsiElement parent = element.getParent(); + if (parent instanceof PsiMethodCallExpression || parent instanceof PsiJavaCodeReferenceElement) return null; List candidates = collectParentClassesAndMethodsUntilStatic(element, findFirstOnly); if (candidates.isEmpty()) return null; String name = element.getReferenceName(); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeMethodIdentifier.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeMethodIdentifier.java new file mode 100644 index 000000000000..48c322dea325 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeMethodIdentifier.java @@ -0,0 +1,7 @@ +// "Create type parameter 'method'" "false" + +class SampleTestCase extends TestCase { + public void testStringsNotEqual() { + method(); + } +} \ No newline at end of file