Introduce & use resolveToDescriptorIfAny<DescriptorType>
This allows to omit casts after resolveToDescriptorIfAny() call, get different descriptors for different receivers (in future), distinguish parameter / property situation for primary constructor
This commit is contained in:
@@ -40,7 +40,7 @@ class RemoveUnusedFunctionParameterFix(parameter: KtParameter) : KotlinQuickFixA
|
||||
val element = element ?: return
|
||||
val primaryConstructor = element.parent?.parent as? KtPrimaryConstructor
|
||||
val parameterList = element.parent as? KtParameterList
|
||||
val parameterDescriptor = element.resolveToDescriptorIfAny(BodyResolveMode.FULL) as? ValueParameterDescriptor ?: return
|
||||
val parameterDescriptor = element.resolveToDescriptorIfAny(BodyResolveMode.FULL) ?: return
|
||||
ChangeFunctionSignatureFix.runRemoveParameter(parameterDescriptor, element)
|
||||
val nextParameter = parameterList?.parameters?.getOrNull(parameterDescriptor.index)
|
||||
if (nextParameter != null) {
|
||||
|
||||
@@ -41,9 +41,7 @@ import org.jetbrains.kotlin.cfg.pseudocode.instructions.eval.*
|
||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.jumps.ReturnValueInstruction
|
||||
import org.jetbrains.kotlin.cfg.pseudocodeTraverser.TraversalOrder
|
||||
import org.jetbrains.kotlin.cfg.pseudocodeTraverser.traverse
|
||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource
|
||||
import org.jetbrains.kotlin.descriptors.VariableDescriptorWithAccessors
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||
import org.jetbrains.kotlin.idea.core.isOverridable
|
||||
|
||||
Reference in New Issue
Block a user