CreateTypeParameterFromUsageFix: stop searching variants when inside enum

This commit is contained in:
Roman.Ivanov
2018-09-12 10:54:42 +07:00
parent dd8fcf9cb4
commit 824da44572
2 changed files with 14 additions and 1 deletions
@@ -185,7 +185,8 @@ public class CreateTypeParameterFromUsageFix extends BaseIntentionAction {
if (element instanceof PsiField && ((PsiField)element).hasModifierProperty(PsiModifier.STATIC)) {
break;
}
if (element instanceof PsiMethod || (element instanceof PsiClass && !(element instanceof PsiTypeParameter))) {
if (element instanceof PsiClass && ((PsiClass)element).isEnum()) break;
if (element instanceof PsiMethod || isValidClass(element)) {
if (((PsiMember)element).getName() != null) {
parents.add((PsiNameIdentifierOwner)element);
if (findFirstOnly) {
@@ -198,4 +199,8 @@ public class CreateTypeParameterFromUsageFix extends BaseIntentionAction {
}
return parents;
}
private static boolean isValidClass(PsiElement element) {
return element instanceof PsiClass && !(element instanceof PsiTypeParameter);
}
}
@@ -0,0 +1,8 @@
// "Create type parameter 'T'" "false"
public class Test {
private enum State {
VALID, INVALID;
private T<caret> info;
}
}