Getting rid of confusing methods on PsiElement's
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user