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)
|
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) {
|
val callable: JetCallableDeclaration? = when (this) {
|
||||||
is JetNamedFunction, is JetProperty -> this as JetCallableDeclaration
|
is JetNamedFunction, is JetProperty -> this as JetCallableDeclaration
|
||||||
is JetPropertyAccessor -> getNonStrictParentOfType<JetProperty>()
|
is JetPropertyAccessor -> getNonStrictParentOfType<JetProperty>()
|
||||||
@@ -139,7 +139,7 @@ public fun PsiElement.isExtensionDeclaration(): Boolean {
|
|||||||
return callable?.getReceiverTypeReference() != null
|
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
|
//TODO: git rid of this method
|
||||||
public fun PsiElement.deleteElementAndCleanParent() {
|
public fun PsiElement.deleteElementAndCleanParent() {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public fun JetParameter.toPsiParameter(): PsiParameter? {
|
|||||||
|
|
||||||
val paramIndex = paramList.getParameters().indexOf(this)
|
val paramIndex = paramList.getParameters().indexOf(this)
|
||||||
val owner = paramList.getParent()
|
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) {
|
val method: PsiMethod? = when (owner) {
|
||||||
is JetFunction -> LightClassUtil.getLightClassMethod(owner)
|
is JetFunction -> LightClassUtil.getLightClassMethod(owner)
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ fun createMoveUsageInfoIfPossible(
|
|||||||
val endOffset = range.getEndOffset()
|
val endOffset = range.getEndOffset()
|
||||||
|
|
||||||
if (reference is JetReference
|
if (reference is JetReference
|
||||||
&& referencedElement.namedUnwrappedElement!!.isExtensionDeclaration()
|
&& (referencedElement.namedUnwrappedElement as? JetDeclaration)?.isExtensionDeclaration() ?: false
|
||||||
&& element.getNonStrictParentOfType<JetImportDirective>() == null) {
|
&& element.getNonStrictParentOfType<JetImportDirective>() == null) {
|
||||||
return MoveRenameUsageInfoForExtension(
|
return MoveRenameUsageInfoForExtension(
|
||||||
element, reference, startOffset, endOffset, referencedElement, element.getContainingFile()!!, addImportToOriginalFile
|
element, reference, startOffset, endOffset, referencedElement, element.getContainingFile()!!, addImportToOriginalFile
|
||||||
|
|||||||
@@ -16,16 +16,15 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.safeDelete
|
package org.jetbrains.kotlin.idea.refactoring.safeDelete
|
||||||
|
|
||||||
import com.intellij.psi.PsiMethod
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.lexer.JetTokens
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.search.searches.OverridingMethodsSearch
|
import com.intellij.psi.search.searches.OverridingMethodsSearch
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
|
import org.jetbrains.kotlin.lexer.JetTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
|
||||||
|
|
||||||
public fun PsiElement.canDeleteElement(): Boolean {
|
public fun PsiElement.canDeleteElement(): Boolean {
|
||||||
if (isObjectLiteral()) return false
|
if (this is JetObjectDeclaration && isObjectLiteral()) return false
|
||||||
|
|
||||||
if (this is JetParameter) {
|
if (this is JetParameter) {
|
||||||
val parameterList = getParent() as? JetParameterList ?: return false
|
val parameterList = getParent() as? JetParameterList ?: return false
|
||||||
|
|||||||
Reference in New Issue
Block a user