changed default positioning strategy:

added special handling for JetObjectLiteralExpression
This commit is contained in:
Svetlana Isakova
2013-12-26 18:09:48 +04:00
committed by Andrey Breslav
parent d4c2a542eb
commit 531d337486
3 changed files with 30 additions and 1 deletions
@@ -35,7 +35,22 @@ import java.util.List;
public class PositioningStrategies {
public static final PositioningStrategy<PsiElement> DEFAULT = new PositioningStrategy<PsiElement>();
public static final PositioningStrategy<PsiElement> DEFAULT = new PositioningStrategy<PsiElement>() {
@NotNull
@Override
public List<TextRange> mark(@NotNull PsiElement element) {
if (element instanceof JetObjectLiteralExpression) {
JetObjectDeclaration objectDeclaration = ((JetObjectLiteralExpression) element).getObjectDeclaration();
PsiElement objectKeyword = objectDeclaration.getObjectKeyword();
JetDelegationSpecifierList delegationSpecifierList = objectDeclaration.getDelegationSpecifierList();
if (delegationSpecifierList == null) {
return markElement(objectKeyword);
}
return markRange(objectKeyword.getTextRange().union(delegationSpecifierList.getTextRange()));
}
return super.mark(element);
}
};
public static final PositioningStrategy<JetDeclaration> DECLARATION_RETURN_TYPE = new PositioningStrategy<JetDeclaration>() {
@NotNull