diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java b/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
index 38a793715ba2..03355f63ce99 100644
--- a/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
+++ b/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
@@ -301,8 +301,13 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
@NotNull
public static String callSuper(PsiMethod superMethod, PsiMethod overriding) {
+ return callSuper(superMethod, overriding, true);
+ }
+
+ @NotNull
+ private static String callSuper(PsiMethod superMethod, PsiMethod overriding, boolean prependReturn) {
@NonNls StringBuilder buffer = new StringBuilder();
- if (!superMethod.isConstructor() && !PsiType.VOID.equals(superMethod.getReturnType())) {
+ if (prependReturn && !superMethod.isConstructor() && !PsiType.VOID.equals(superMethod.getReturnType())) {
buffer.append("return ");
}
buffer.append("super");
@@ -350,6 +355,7 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
properties.setProperty(FileTemplate.ATTRIBUTE_RETURN_TYPE, returnType.getPresentableText());
properties.setProperty(FileTemplate.ATTRIBUTE_DEFAULT_RETURN_VALUE, PsiTypesUtil.getDefaultValueOfType(returnType));
properties.setProperty(FileTemplate.ATTRIBUTE_CALL_SUPER, callSuper(originalMethod, result));
+ properties.setProperty(FileTemplate.ATTRIBUTE_PLAIN_CALL_SUPER, callSuper(originalMethod, result, false));
JavaTemplateUtil.setClassAndMethodNameProperties(properties, targetClass, result);
JVMElementFactory factory = JVMElementFactories.getFactory(targetClass.getLanguage(), originalMethod.getProject());
diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplate.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplate.java
index 7e7366cd2211..35a4409b1105 100644
--- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplate.java
+++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplate.java
@@ -42,6 +42,7 @@ public interface FileTemplate extends Cloneable {
String ATTRIBUTE_RETURN_TYPE = "RETURN_TYPE";
String ATTRIBUTE_DEFAULT_RETURN_VALUE = "DEFAULT_RETURN_VALUE";
String ATTRIBUTE_CALL_SUPER = "CALL_SUPER";
+ String ATTRIBUTE_PLAIN_CALL_SUPER = "PLAIN_CALL_SUPER";
String ATTRIBUTE_CLASS_NAME = "CLASS_NAME";
String ATTRIBUTE_SIMPLE_CLASS_NAME = "SIMPLE_CLASS_NAME";
diff --git a/resources-en/src/fileTemplates/code/Overridden Method Body.java.html b/resources-en/src/fileTemplates/code/Overridden Method Body.java.html
index d13917303afd..5f6b7cc4c281 100644
--- a/resources-en/src/fileTemplates/code/Overridden Method Body.java.html
+++ b/resources-en/src/fileTemplates/code/Overridden Method Body.java.html
@@ -21,6 +21,12 @@
for other methods - return super.method_name(); with or without parameters
+
super.method_name(); with or without parameters;
+