diff --git a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/ConcatenationInjector.java b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/ConcatenationInjector.java index 0d349a04ea03..46dcc559d2e1 100644 --- a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/ConcatenationInjector.java +++ b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/ConcatenationInjector.java @@ -167,7 +167,15 @@ public class ConcatenationInjector implements ConcatenationAwareInjector { final int index = ArrayUtil.indexOf(list.getExpressions(), expression); final String methodName; if (psiCallExpression instanceof PsiMethodCallExpression) { - methodName = ((PsiMethodCallExpression)psiCallExpression).getMethodExpression().getReferenceName(); + final String referenceName = ((PsiMethodCallExpression)psiCallExpression).getMethodExpression().getReferenceName(); + if ("super".equals(referenceName) || "this".equals(referenceName)) { // constructor call + final PsiClass psiClass = PsiTreeUtil.getParentOfType(psiCallExpression, PsiClass.class, true); + final PsiClass psiTargetClass = "super".equals(referenceName)? psiClass == null ? null : psiClass.getSuperClass() : psiClass; + methodName = psiTargetClass == null? null : psiTargetClass.getName(); + } + else { + methodName = referenceName; + } } else if (psiCallExpression instanceof PsiNewExpression) { final PsiJavaCodeReferenceElement classRef = ((PsiNewExpression)psiCallExpression).getClassOrAnonymousClassReference();