mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
preserve arguments list for enum constant on implement methods (IDEA-67719)
This commit is contained in:
@@ -164,8 +164,9 @@ public class ImplementAbstractMethodHandler {
|
||||
}
|
||||
|
||||
public static PsiClass addClassInitializer(PsiEnumConstant enumConstant) {
|
||||
final PsiExpressionList argumentList = enumConstant.getArgumentList();
|
||||
final PsiEnumConstant constantFromText = JavaPsiFacade.getElementFactory(enumConstant.getProject()).createEnumConstantFromText(
|
||||
enumConstant.getName() + "{}", enumConstant);
|
||||
enumConstant.getName() + (argumentList != null ? argumentList.getText() : "") + "{}", enumConstant);
|
||||
final PsiEnumConstant replace = (PsiEnumConstant)enumConstant.replace(constantFromText);
|
||||
|
||||
return replace.getInitializingClass();
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// "Use existing implementation of 'm'" "true"
|
||||
enum I {
|
||||
A("a") {
|
||||
void m() {
|
||||
<selection><caret>System.out.println("");</selection>
|
||||
}
|
||||
},
|
||||
B("b") {
|
||||
public void m() {
|
||||
System.out.println("");
|
||||
}
|
||||
};
|
||||
abstract void m();
|
||||
I(String s){}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// "Use existing implementation of 'm'" "true"
|
||||
enum I {
|
||||
A("a"),
|
||||
B("b") {
|
||||
public void m() {
|
||||
System.out.println("");
|
||||
}
|
||||
};
|
||||
abstract void <caret>m();
|
||||
I(String s){}
|
||||
}
|
||||
Reference in New Issue
Block a user