From 53b0b3450d9b0f02258b9a5efeb050b2e96128b4 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Tue, 12 Aug 2014 13:34:48 +0400 Subject: [PATCH] Refactoring in PositionStrategies: added markRange(from, to) --- .../diagnostics/PositioningStrategies.java | 20 ++++++++----------- .../lang/diagnostics/PositioningStrategy.java | 5 +++++ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java index a0e5d07199c..3c9053bb740 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java @@ -48,7 +48,7 @@ public class PositioningStrategies { if (delegationSpecifierList == null) { return markElement(objectKeyword); } - return markRange(objectKeyword.getTextRange().union(delegationSpecifierList.getTextRange())); + return markRange(objectKeyword, delegationSpecifierList); } return super.mark(element); } @@ -105,7 +105,7 @@ public class PositioningStrategies { if (parent instanceof JetClassObject) { PsiElement classKeyword = ((JetClassObject) parent).getClassKeywordNode(); PsiElement start = classKeyword == null ? objectKeyword : classKeyword; - return markRange(new TextRange(start.getTextRange().getStartOffset(), objectKeyword.getTextRange().getEndOffset())); + return markRange(start, objectKeyword); } return markElement(objectKeyword); } @@ -142,8 +142,7 @@ public class PositioningStrategies { else { endOfSignatureElement = function; } - return markRange(new TextRange( - function.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset())); + return markRange(function, endOfSignatureElement); } else if (element instanceof JetProperty) { JetProperty property = (JetProperty) element; @@ -159,8 +158,7 @@ public class PositioningStrategies { else { endOfSignatureElement = property; } - return markRange(new TextRange( - property.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset())); + return markRange(property, endOfSignatureElement); } else if (element instanceof JetPropertyAccessor) { JetPropertyAccessor accessor = (JetPropertyAccessor) element; @@ -172,8 +170,7 @@ public class PositioningStrategies { if (endOfSignatureElement == null) { endOfSignatureElement = accessor.getNamePlaceholder(); } - return markRange(new TextRange( - accessor.getTextRange().getStartOffset(), endOfSignatureElement.getTextRange().getEndOffset())); + return markRange(accessor, endOfSignatureElement); } else if (element instanceof JetClass) { PsiElement nameAsDeclaration = ((JetClass) element).getNameIdentifier(); @@ -182,10 +179,9 @@ public class PositioningStrategies { } PsiElement primaryConstructorParameterList = ((JetClass) element).getPrimaryConstructorParameterList(); if (primaryConstructorParameterList == null) { - return markRange(nameAsDeclaration.getTextRange()); + return markElement(nameAsDeclaration); } - return markRange(new TextRange( - nameAsDeclaration.getTextRange().getStartOffset(), primaryConstructorParameterList.getTextRange().getEndOffset())); + return markRange(nameAsDeclaration, primaryConstructorParameterList); } else if (element instanceof JetObjectDeclaration) { return NAME_IDENTIFIER.mark((JetObjectDeclaration) element); @@ -466,7 +462,7 @@ public class PositioningStrategies { else { endElement = element; } - return markRange(new TextRange(element.getTextRange().getStartOffset(), endElement.getTextRange().getEndOffset())); + return markRange(element, endElement); } return super.mark(element); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategy.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategy.java index 16486f78e7a..87309804184 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategy.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategy.java @@ -55,6 +55,11 @@ public class PositioningStrategy { return Collections.singletonList(range); } + @NotNull + protected static List markRange(@NotNull PsiElement from, @NotNull PsiElement to) { + return markRange(new TextRange(from.getTextRange().getStartOffset(), to.getTextRange().getEndOffset())); + } + protected static boolean hasSyntaxErrors(@NotNull PsiElement psiElement) { if (psiElement instanceof PsiErrorElement) return true;