templates: fix generated member (IDEA-178875)

This commit is contained in:
Anna Kozlova
2017-09-19 20:13:15 +03:00
parent 68f55bc689
commit 5661612c84
@@ -146,11 +146,16 @@ public abstract class TemplatesManager implements PersistentStateComponent<Templ
ContainerUtil.mapNotNull(elementClass.getMethods(),
method -> {
final String methodName = method.getName();
if (methodName.startsWith("set")) {
if (methodName.startsWith("set") || method.isSynthetic() || method.isBridge()) {
//hide setters from completion list
return null;
}
return method.getGenericReturnType().toString() + " " + methodName + "();";
String parametersString = StringUtil.join(method.getParameters(),
param -> param.getParameterizedType().getTypeName() +
" " +
param.getName(),
", ");
return method.getGenericReturnType().getTypeName() + " " + methodName + "(" + parametersString + ");";
});
final String text = "interface " + elementClass.getSimpleName() + " {\n" + StringUtil.join(methodNames, "\n") + "}";
final PsiClass aClass = JavaPsiFacade.getElementFactory(project).createClassFromText(text, null).getInnerClasses()[0];