Getting rid of confusing methods on PsiElement's

This commit is contained in:
Valentin Kipyatkov
2015-05-28 23:16:28 +03:00
parent e99b343be3
commit 006c02b569
4 changed files with 7 additions and 8 deletions
@@ -129,7 +129,7 @@ public fun JetDeclaration.isOverridable(): Boolean {
hasModifier(JetTokens.ABSTRACT_KEYWORD) || hasModifier(JetTokens.OPEN_KEYWORD) || hasModifier(JetTokens.OVERRIDE_KEYWORD)
}
public fun PsiElement.isExtensionDeclaration(): Boolean {
public fun JetDeclaration.isExtensionDeclaration(): Boolean {
val callable: JetCallableDeclaration? = when (this) {
is JetNamedFunction, is JetProperty -> this as JetCallableDeclaration
is JetPropertyAccessor -> getNonStrictParentOfType<JetProperty>()
@@ -139,7 +139,7 @@ public fun PsiElement.isExtensionDeclaration(): Boolean {
return callable?.getReceiverTypeReference() != null
}
public fun PsiElement.isObjectLiteral(): Boolean = this is JetObjectDeclaration && isObjectLiteral()
public fun JetClassOrObject.isObjectLiteral(): Boolean = this is JetObjectDeclaration && isObjectLiteral()
//TODO: git rid of this method
public fun PsiElement.deleteElementAndCleanParent() {
@@ -70,7 +70,7 @@ public fun JetParameter.toPsiParameter(): PsiParameter? {
val paramIndex = paramList.getParameters().indexOf(this)
val owner = paramList.getParent()
val lightParamIndex = if (owner != null && owner.isExtensionDeclaration()) paramIndex + 1 else paramIndex
val lightParamIndex = if (owner is JetDeclaration && owner.isExtensionDeclaration()) paramIndex + 1 else paramIndex
val method: PsiMethod? = when (owner) {
is JetFunction -> LightClassUtil.getLightClassMethod(owner)
@@ -166,7 +166,7 @@ fun createMoveUsageInfoIfPossible(
val endOffset = range.getEndOffset()
if (reference is JetReference
&& referencedElement.namedUnwrappedElement!!.isExtensionDeclaration()
&& (referencedElement.namedUnwrappedElement as? JetDeclaration)?.isExtensionDeclaration() ?: false
&& element.getNonStrictParentOfType<JetImportDirective>() == null) {
return MoveRenameUsageInfoForExtension(
element, reference, startOffset, endOffset, referencedElement, element.getContainingFile()!!, addImportToOriginalFile
@@ -16,16 +16,15 @@
package org.jetbrains.kotlin.idea.refactoring.safeDelete
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.lexer.JetTokens
import com.intellij.psi.PsiMethod
import com.intellij.psi.search.searches.OverridingMethodsSearch
import org.jetbrains.kotlin.asJava.unwrapped
import org.jetbrains.kotlin.lexer.JetTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.*
public fun PsiElement.canDeleteElement(): Boolean {
if (isObjectLiteral()) return false
if (this is JetObjectDeclaration && isObjectLiteral()) return false
if (this is JetParameter) {
val parameterList = getParent() as? JetParameterList ?: return false