Introduced shortcut properties + getArrowNode -> getArrow

This commit is contained in:
Valentin Kipyatkov
2015-05-11 19:48:01 +03:00
parent d86e142366
commit a3bd6ca017
39 changed files with 129 additions and 88 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.JetNodeTypes
import org.jetbrains.kotlin.lexer.JetKeywordToken
import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.getCalleeHighlightingRange
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.utils.sure
@@ -387,7 +388,7 @@ public object PositioningStrategies {
override fun mark(element: JetElement): List<TextRange> {
if (element is JetConstantExpression) {
if (element.getNode().getElementType() == JetNodeTypes.INTEGER_CONSTANT) {
val endOffset = element.getTextRange().getEndOffset()
val endOffset = element.endOffset
return listOf(TextRange.create(endOffset - 1, endOffset))
}
}
@@ -22,6 +22,8 @@ import com.intellij.psi.PsiComment
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiErrorElement
import com.intellij.psi.PsiWhiteSpace
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffset
public open class PositioningStrategy<E : PsiElement> {
public open fun markDiagnostic(diagnostic: ParametrizedDiagnostic<out E>): List<TextRange> {
@@ -57,26 +59,26 @@ private fun getStartOffset(element: PsiElement): Int {
var child = element.getFirstChild()
if (child != null) {
while (child is PsiComment || child is PsiWhiteSpace) {
child = child!!.getNextSibling()
child = child.getNextSibling()
}
if (child != null) {
return getStartOffset(child!!)
return getStartOffset(child)
}
}
return element.getTextRange().getStartOffset()
return element.startOffset
}
private fun getEndOffset(element: PsiElement): Int {
var child = element.getLastChild()
if (child != null) {
while (child is PsiComment || child is PsiWhiteSpace) {
child = child!!.getPrevSibling()
child = child.getPrevSibling()
}
if (child != null) {
return getEndOffset(child!!)
return getEndOffset(child)
}
}
return element.getTextRange().getEndOffset()
return element.endOffset
}
fun hasSyntaxErrors(psiElement: PsiElement): Boolean {
@@ -70,8 +70,8 @@ public class JetFunctionLiteral extends JetFunctionNotStubbed {
}
@Nullable
public ASTNode getArrowNode() {
return getNode().findChildByType(JetTokens.ARROW);
public PsiElement getArrow() {
return findChildByType(JetTokens.ARROW);
}
@Nullable
@@ -22,7 +22,9 @@ import com.intellij.psi.SmartPointerManager
import com.intellij.psi.SmartPsiElementPointer
import com.intellij.psi.codeStyle.CodeStyleManager
import com.intellij.psi.impl.source.codeStyle.CodeEditUtil
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.psi.psiUtil.startOffset
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
import java.util.ArrayList
import java.util.HashMap
@@ -34,7 +36,7 @@ public fun JetPsiFactory.createExpressionByPattern(pattern: String, vararg args:
var expression = createExpression(processedText)
val project = expression.getProject()
val start = expression.getTextRange().getStartOffset()
val start = expression.startOffset
val pointerManager = SmartPointerManager.getInstance(project)
@@ -80,7 +82,7 @@ public fun JetPsiFactory.createExpressionByPattern(pattern: String, vararg args:
expression = codeStyleManager.reformat(expression, true) as JetExpression
}
else {
var bound = expression.getTextRange().getEndOffset() - 1
var bound = expression.endOffset - 1
for (range in stringPlaceholderRanges) {
// we extend reformatting range by 1 to the right because otherwise some of spaces are not reformatted
expression = codeStyleManager.reformatRange(expression, range.getEndOffset() + start, bound + 1, true) as JetExpression
@@ -473,7 +473,7 @@ public fun PsiFile.elementsInRange(range: TextRange): List<PsiElement> {
}
result.add(element)
offset = element.getTextRange().getEndOffset()
offset = element.endOffset
}
return result
}
@@ -510,7 +510,7 @@ public fun PsiElement.getElementTextWithContext(): String {
val topLevelElement = PsiTreeUtil.findFirstParent(this, { it.getParent() is PsiFile }) ?:
throw AssertionError("For non-file element we should always be able to find parent in file children")
val startContextOffset = topLevelElement.getTextRange().getStartOffset()
val startContextOffset = topLevelElement.startOffset
val elementContextOffset = getTextRange().getStartOffset()
val inFileParentOffset = elementContextOffset - startContextOffset
@@ -583,7 +583,13 @@ public fun JetElement.getCalleeHighlightingRange(): TextRange {
) ?: return getTextRange()
val startOffset = annotationEntry.getAtSymbol()?.getTextRange()?.getStartOffset()
?: annotationEntry.getCalleeExpression().getTextRange().getStartOffset()
?: annotationEntry.getCalleeExpression().startOffset
return TextRange(startOffset, annotationEntry.getCalleeExpression().getTextRange().getEndOffset())
return TextRange(startOffset, annotationEntry.getCalleeExpression().endOffset)
}
public val PsiElement.startOffset: Int
get() = getTextRange().getStartOffset()
public val PsiElement.endOffset: Int
get() = getTextRange().getEndOffset()