Refactoring in PositionStrategies: added markRange(from, to)

This commit is contained in:
Svetlana Isakova
2014-08-12 13:34:48 +04:00
parent 6f4c152f53
commit 53b0b3450d
2 changed files with 13 additions and 12 deletions
@@ -48,7 +48,7 @@ public class PositioningStrategies {
if (delegationSpecifierList == null) { if (delegationSpecifierList == null) {
return markElement(objectKeyword); return markElement(objectKeyword);
} }
return markRange(objectKeyword.getTextRange().union(delegationSpecifierList.getTextRange())); return markRange(objectKeyword, delegationSpecifierList);
} }
return super.mark(element); return super.mark(element);
} }
@@ -105,7 +105,7 @@ public class PositioningStrategies {
if (parent instanceof JetClassObject) { if (parent instanceof JetClassObject) {
PsiElement classKeyword = ((JetClassObject) parent).getClassKeywordNode(); PsiElement classKeyword = ((JetClassObject) parent).getClassKeywordNode();
PsiElement start = classKeyword == null ? objectKeyword : classKeyword; PsiElement start = classKeyword == null ? objectKeyword : classKeyword;
return markRange(new TextRange(start.getTextRange().getStartOffset(), objectKeyword.getTextRange().getEndOffset())); return markRange(start, objectKeyword);
} }
return markElement(objectKeyword); return markElement(objectKeyword);
} }
@@ -142,8 +142,7 @@ public class PositioningStrategies {
else { else {
endOfSignatureElement = function; endOfSignatureElement = function;
} }
return markRange(new TextRange( return markRange(function, endOfSignatureElement);
function.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset()));
} }
else if (element instanceof JetProperty) { else if (element instanceof JetProperty) {
JetProperty property = (JetProperty) element; JetProperty property = (JetProperty) element;
@@ -159,8 +158,7 @@ public class PositioningStrategies {
else { else {
endOfSignatureElement = property; endOfSignatureElement = property;
} }
return markRange(new TextRange( return markRange(property, endOfSignatureElement);
property.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset()));
} }
else if (element instanceof JetPropertyAccessor) { else if (element instanceof JetPropertyAccessor) {
JetPropertyAccessor accessor = (JetPropertyAccessor) element; JetPropertyAccessor accessor = (JetPropertyAccessor) element;
@@ -172,8 +170,7 @@ public class PositioningStrategies {
if (endOfSignatureElement == null) { if (endOfSignatureElement == null) {
endOfSignatureElement = accessor.getNamePlaceholder(); endOfSignatureElement = accessor.getNamePlaceholder();
} }
return markRange(new TextRange( return markRange(accessor, endOfSignatureElement);
accessor.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset()));
} }
else if (element instanceof JetClass) { else if (element instanceof JetClass) {
PsiElement nameAsDeclaration = ((JetClass) element).getNameIdentifier(); PsiElement nameAsDeclaration = ((JetClass) element).getNameIdentifier();
@@ -182,10 +179,9 @@ public class PositioningStrategies {
} }
PsiElement primaryConstructorParameterList = ((JetClass) element).getPrimaryConstructorParameterList(); PsiElement primaryConstructorParameterList = ((JetClass) element).getPrimaryConstructorParameterList();
if (primaryConstructorParameterList == null) { if (primaryConstructorParameterList == null) {
return markRange(nameAsDeclaration.getTextRange()); return markElement(nameAsDeclaration);
} }
return markRange(new TextRange( return markRange(nameAsDeclaration, primaryConstructorParameterList);
nameAsDeclaration.getTextRange().getStartOffset(), primaryConstructorParameterList.getTextRange().getEndOffset()));
} }
else if (element instanceof JetObjectDeclaration) { else if (element instanceof JetObjectDeclaration) {
return NAME_IDENTIFIER.mark((JetObjectDeclaration) element); return NAME_IDENTIFIER.mark((JetObjectDeclaration) element);
@@ -466,7 +462,7 @@ public class PositioningStrategies {
else { else {
endElement = element; endElement = element;
} }
return markRange(new TextRange(element.getTextRange().getStartOffset(), endElement.getTextRange().getEndOffset())); return markRange(element, endElement);
} }
return super.mark(element); return super.mark(element);
} }
@@ -55,6 +55,11 @@ public class PositioningStrategy<E extends PsiElement> {
return Collections.singletonList(range); return Collections.singletonList(range);
} }
@NotNull
protected static List<TextRange> markRange(@NotNull PsiElement from, @NotNull PsiElement to) {
return markRange(new TextRange(from.getTextRange().getStartOffset(), to.getTextRange().getEndOffset()));
}
protected static boolean hasSyntaxErrors(@NotNull PsiElement psiElement) { protected static boolean hasSyntaxErrors(@NotNull PsiElement psiElement) {
if (psiElement instanceof PsiErrorElement) return true; if (psiElement instanceof PsiErrorElement) return true;