Introduced shortcut properties + getArrowNode -> getArrow
This commit is contained in:
+5
-8
@@ -37,10 +37,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.completion.smart.SmartCompletion
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||
import org.jetbrains.kotlin.psi.psiUtil.parents
|
||||
import org.jetbrains.kotlin.psi.psiUtil.prevLeaf
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
@@ -108,12 +105,12 @@ public class KotlinCompletionContributor : CompletionContributor() {
|
||||
context.setReplacementOffset(suggestedReplacementOffset)
|
||||
}
|
||||
|
||||
context.getOffsetMap().addOffset(SmartCompletion.OLD_ARGUMENTS_REPLACEMENT_OFFSET, expression.getTextRange().getEndOffset())
|
||||
context.getOffsetMap().addOffset(SmartCompletion.OLD_ARGUMENTS_REPLACEMENT_OFFSET, expression.endOffset)
|
||||
|
||||
val argumentList = (expression.getParent() as? JetValueArgument)?.getParent() as? JetValueArgumentList
|
||||
if (argumentList != null) {
|
||||
context.getOffsetMap().addOffset(SmartCompletion.MULTIPLE_ARGUMENTS_REPLACEMENT_OFFSET,
|
||||
argumentList.getRightParenthesis()?.getTextRange()?.getStartOffset() ?: argumentList.getTextRange().getEndOffset())
|
||||
argumentList.getRightParenthesis()?.getTextRange()?.getStartOffset() ?: argumentList.endOffset)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -149,8 +146,8 @@ public class KotlinCompletionContributor : CompletionContributor() {
|
||||
val classOrObject = tokenBefore?.parents(false)?.firstIsInstanceOrNull<JetClassOrObject>() ?: return false
|
||||
val name = classOrObject.getNameIdentifier() ?: return false
|
||||
val body = classOrObject.getBody() ?: return false
|
||||
val offset = tokenBefore!!.getTextRange().getStartOffset()
|
||||
return name.getTextRange().getEndOffset() <= offset && offset <= body.getTextRange().getStartOffset()
|
||||
val offset = tokenBefore!!.startOffset
|
||||
return name.endOffset <= offset && offset <= body.startOffset
|
||||
}
|
||||
|
||||
private val declarationKeywords = TokenSet.create(JetTokens.FUN_KEYWORD, JetTokens.VAL_KEYWORD, JetTokens.VAR_KEYWORD)
|
||||
|
||||
+3
-2
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.completion
|
||||
import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.psi.JetDeclaration
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||
|
||||
class ToFromOriginalFileMapper(
|
||||
val originalFile: JetFile,
|
||||
@@ -64,13 +65,13 @@ class ToFromOriginalFileMapper(
|
||||
|
||||
public fun toOriginalFile(declaration: JetDeclaration): JetDeclaration? {
|
||||
if (declaration.getContainingFile() != syntheticFile) return declaration
|
||||
val offset = toOriginalFile(declaration.getTextRange().getStartOffset()) ?: return null
|
||||
val offset = toOriginalFile(declaration.startOffset) ?: return null
|
||||
return PsiTreeUtil.findElementOfClassAtOffset(originalFile, offset, javaClass<JetDeclaration>(), true)
|
||||
}
|
||||
|
||||
public fun toSyntheticFile(declaration: JetDeclaration): JetDeclaration? {
|
||||
if (declaration.getContainingFile() != originalFile) return declaration
|
||||
val offset = toSyntheticFile(declaration.getTextRange().getStartOffset()) ?: return null
|
||||
val offset = toSyntheticFile(declaration.startOffset) ?: return null
|
||||
return PsiTreeUtil.findElementOfClassAtOffset(syntheticFile, offset, javaClass<JetDeclaration>(), true)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -37,6 +37,7 @@ import org.jetbrains.kotlin.idea.util.ShortenReferences
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.types.JetType
|
||||
@@ -150,7 +151,7 @@ public class KotlinFunctionInsertHandler(val caretPosition : CaretPosition, val
|
||||
if (token.getNode().getElementType() == JetTokens.LT) {
|
||||
val parent = token.getParent()
|
||||
if (parent is JetTypeArgumentList && parent.getText().indexOf('\n') < 0/* if type argument list is on multiple lines this is more likely wrong parsing*/) {
|
||||
offset = parent.getTextRange().getEndOffset()
|
||||
offset = parent.endOffset
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user