CreateTypeParameterFromUsageFix: ignore reference expr: IDEA-193060

This commit is contained in:
Roman.Ivanov
2018-06-01 18:09:17 +07:00
parent 98f800be0a
commit 7db02bc177
3 changed files with 9 additions and 2 deletions
@@ -162,7 +162,7 @@ public class CreateTypeParameterFromUsageFix extends BaseIntentionAction {
if (!PsiUtil.isLanguageLevel5OrHigher(element)) return null;
if (element.isQualified()) return null;
PsiElement parent = element.getParent();
if (parent instanceof PsiMethodCallExpression || parent instanceof PsiJavaCodeReferenceElement) return null;
if (parent instanceof PsiMethodCallExpression || parent instanceof PsiJavaCodeReferenceElement || element instanceof PsiReferenceExpression) return null;
List<PsiNameIdentifierOwner> candidates = collectParentClassesAndMethodsUntilStatic(element, findFirstOnly);
if (candidates.isEmpty()) return null;
String name = element.getReferenceName();
@@ -0,0 +1,7 @@
// "Create type parameter 'a'" "false"
class B {
public static void main(String[] args) {
a<caret> = 12;
}
}
@@ -1,3 +1,3 @@
// "Create type parameter 'T'" "false"
// "Create type parameter 'foo'" "false"
class B extends fo<caret>o.Bar {}