generate private enum constructor everywhere (IDEA-69128 )

This commit is contained in:
anna
2011-08-22 14:18:21 +02:00
parent e23fd301ad
commit f087cd8c25
11 changed files with 33 additions and 10 deletions

View File

@@ -16,15 +16,20 @@
package com.intellij.codeInsight.daemon.impl.quickfix;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.codeInsight.generation.GenerateConstructorHandler;
import com.intellij.psi.PsiClass;
import org.jetbrains.annotations.NotNull;
public class AddDefaultConstructorFix extends AddMethodFix {
public AddDefaultConstructorFix(PsiClass aClass) {
super("public " + aClass.getName() + "() {}", aClass);
super(generateConstructor(aClass), aClass);
setText(QuickFixBundle.message("add.default.constructor.text", aClass.getName()));
}
private static String generateConstructor(PsiClass aClass) {
final String constructorModifier = GenerateConstructorHandler.getConstructorModifier(aClass);
return constructorModifier + (constructorModifier.isEmpty() ? "" : " ") + aClass.getName() + "() {}";
}
@NotNull
public String getFamilyName() {

View File

@@ -267,8 +267,7 @@ public class GenerateConstructorHandler extends GenerateMembersHandlerBase {
}
@Modifier
@Nullable
private static String getConstructorModifier(final PsiClass aClass) {
public static String getConstructorModifier(final PsiClass aClass) {
@Modifier String modifier = PsiModifier.PUBLIC;
if (aClass.hasModifierProperty(PsiModifier.ABSTRACT) && !aClass.isEnum()) {
@@ -280,6 +279,9 @@ public class GenerateConstructorHandler extends GenerateMembersHandlerBase {
else if (aClass.hasModifierProperty(PsiModifier.PRIVATE)) {
modifier = PsiModifier.PRIVATE;
}
else if (aClass.isEnum()) {
modifier = PsiModifier.PRIVATE;
}
return modifier;
}

View File

@@ -1,5 +1,5 @@
// "Add constructor parameter" "true"
class A {
public class A {
private int field;
public A(int field) {

View File

@@ -1,5 +1,5 @@
// "Add constructor parameter" "true"
class A {
public class A {
private final A field;
public A(A field) {

View File

@@ -0,0 +1,10 @@
// "Add constructor parameter" "true"
public enum MyEnum
{
VALUE_ONE(myField);
private final int myField;
private MyEnum(int myField) {
this.myField = myField;
}
}

View File

@@ -1,5 +1,5 @@
// "Add constructor parameters" "true"
class A {
public class A {
private final int field;
private final Object o;
private final Runnable runnable;

View File

@@ -1,4 +1,4 @@
// "Add constructor parameter" "true"
class A {
public class A {
private int <caret>field;
}

View File

@@ -1,4 +1,4 @@
// "Add constructor parameter" "true"
class A {
public class A {
private final A field;<caret>
}

View File

@@ -0,0 +1,6 @@
// "Add constructor parameter" "true"
public enum MyEnum
{
VALUE_ONE;
private final int myFi<caret>eld;
}

View File

@@ -1,5 +1,5 @@
// "Add constructor parameters" "true"
class A {
public class A {
private final int <caret>field;
private final Object o;
private final Runnable runnable;

View File

@@ -7,6 +7,6 @@ public enum Operation {
abstract int eval(int x, int y);
Operation() {
private Operation() {
}
}