From 9265b54df5fb4cbbc44be027ab4a57ec6ce7f1af Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Tue, 10 Jul 2018 14:49:38 +0700 Subject: [PATCH] CreateTypeParameterFromUsage: do not suggest fix when reference is part of class literal: IDEA-195266 --- .../impl/quickfix/CreateTypeParameterFromUsageFix.java | 1 + .../createTypeParameterFromUsage/beforeClassLiteral.java | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeClassLiteral.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 8b177745d49d..56fdf5402d1e 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 @@ -165,6 +165,7 @@ public class CreateTypeParameterFromUsageFix extends BaseIntentionAction { if (parent instanceof PsiMethodCallExpression || parent instanceof PsiJavaCodeReferenceElement || parent instanceof PsiNewExpression || + (parent instanceof PsiTypeElement && parent.getParent() instanceof PsiClassObjectAccessExpression) || element instanceof PsiReferenceExpression) { return null; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeClassLiteral.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeClassLiteral.java new file mode 100644 index 000000000000..b5063fdfdcf9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createTypeParameterFromUsage/beforeClassLiteral.java @@ -0,0 +1,7 @@ +// "Create type parameter 'A'" "false" + +class B { + void foo() { + java.lang.Class a = A.class; + } +} \ No newline at end of file