diff --git a/java/java-psi-api/src/com/intellij/psi/PsiElementFactory.java b/java/java-psi-api/src/com/intellij/psi/PsiElementFactory.java index 8d21458ce4d5..bdaf595cea87 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiElementFactory.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiElementFactory.java @@ -108,7 +108,17 @@ public interface PsiElementFactory extends PsiJavaParserFacade, JVMElementFactor * * @return the created constructor instance. */ - @NotNull PsiMethod createConstructor(); + @NotNull + PsiMethod createConstructor(); + + /** + * Creates an empty constructor with a given name. + * + * @param name the name of the constructor to create. + * @return the created constructor instance. + */ + @NotNull + PsiMethod createConstructor(@NotNull @NonNls String name); /** * Creates an empty class initializer block. diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFactoryImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFactoryImpl.java index 0815da3381f1..150e757205f7 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFactoryImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFactoryImpl.java @@ -218,7 +218,13 @@ public class PsiElementFactoryImpl extends PsiJavaParserFacadeImpl implements Ps @NotNull @Override public PsiMethod createConstructor() { - final PsiJavaFile aFile = createDummyJavaFile("class _Dummy_ { public _Dummy_() {} }"); + return createConstructor("_Dummy_"); + } + + @NotNull + @Override + public PsiMethod createConstructor(@NotNull @NonNls final String name) { + final PsiJavaFile aFile = createDummyJavaFile(join("class ", name, " { public ", name, "() {} }")); final PsiMethod method = aFile.getClasses()[0].getMethods()[0]; return (PsiMethod)CodeStyleManager.getInstance(myManager.getProject()).reformat(method); }