diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterAndSetterHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterAndSetterHandler.java index 43180f9135ee..2de590dd3884 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterAndSetterHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterAndSetterHandler.java @@ -46,4 +46,9 @@ public class GenerateGetterAndSetterHandler extends GenerateGetterSetterHandlerB protected String getNothingFoundMessage() { return "No fields have been found to generate getters/setters for"; } + + @Override + protected String getNothingAcceptedMessage() { + return "No fields without getter/setter were found"; + } } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterHandler.java index 9575f4aa8073..00d706c0c6bb 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterHandler.java @@ -47,4 +47,9 @@ public class GenerateGetterHandler extends GenerateGetterSetterHandlerBase { protected String getNothingFoundMessage() { return "No fields have been found to generate getters for"; } + + @Override + protected String getNothingAcceptedMessage() { + return "No fields without getter were found"; + } } diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterSetterHandlerBase.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterSetterHandlerBase.java index b9848686a6c7..8874a983e58a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterSetterHandlerBase.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateGetterSetterHandlerBase.java @@ -28,6 +28,7 @@ import com.intellij.util.IncorrectOperationException; import com.intellij.util.NotNullFunction; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Collection; @@ -60,17 +61,26 @@ abstract class GenerateGetterSetterHandlerBase extends GenerateMembersHandlerBas @Override protected ClassMember[] chooseOriginalMembers(PsiClass aClass, Project project, Editor editor) { final ClassMember[] allMembers = getAllOriginalMembers(aClass); - if (allMembers.length == 0) { + if (allMembers == null) { HintManager.getInstance().showErrorHint(editor, getNothingFoundMessage()); return null; } + if (allMembers.length == 0) { + HintManager.getInstance().showErrorHint(editor, getNothingAcceptedMessage()); + return null; + } return chooseMembers(allMembers, false, false, project); } protected abstract String getNothingFoundMessage(); + protected abstract String getNothingAcceptedMessage(); + @Nullable protected ClassMember[] getAllOriginalMembers(final PsiClass aClass) { final List list = GenerateAccessorProviderRegistrar.getEncapsulatableClassMembers(aClass); + if (list.isEmpty()) { + return null; + } final List members = ContainerUtil.findAll(list, new Condition() { public boolean value(EncapsulatableClassMember member) { try { diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateSetterHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateSetterHandler.java index df46b3850cb7..6bfc473ce521 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateSetterHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateSetterHandler.java @@ -40,4 +40,9 @@ public class GenerateSetterHandler extends GenerateGetterSetterHandlerBase { protected String getNothingFoundMessage() { return "No fields have been found to generate setters for"; } + + @Override + protected String getNothingAcceptedMessage() { + return "No fields without setter were found"; + } }