Merge pull request #140 from crazyproger/KT-1985

KT-1985 Creating class body in time of override/implement, if necessary
This commit is contained in:
Nikolay Krasko
2012-11-09 08:52:44 -08:00
5 changed files with 33 additions and 2 deletions
@@ -68,9 +68,10 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
JetClassOrObject classOrObject,
List<DescriptorClassMember> selectedElements
) {
final JetClassBody body = classOrObject.getBody();
JetClassBody body = classOrObject.getBody();
Project project = classOrObject.getProject();
if (body == null) {
return;
body = JetPsiFactory.createEmptyClassBody(project);
}
PsiElement afterAnchor = findInsertAfterAnchor(editor, body);
@@ -87,6 +88,11 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
elementsToCompact.add((JetElement) added);
}
ReferenceToClassesShortening.compactReferenceToClasses(elementsToCompact);
if (!body.isPhysical()) {
classOrObject.add(JetPsiFactory.createWhiteSpace(project));
classOrObject.add(body);
}
}
@Nullable