Introduce KtClassOrObject.resolveToDescriptorIfAny()
This commit is contained in:
+1
-1
@@ -50,7 +50,7 @@ class ImplementAsConstructorParameter : ImplementMembersHandler() {
|
||||
|
||||
override fun isValidForClass(classOrObject: KtClassOrObject): Boolean {
|
||||
if (classOrObject !is KtClass || classOrObject is KtEnumEntry || classOrObject.isInterface()) return false
|
||||
val classDescriptor = classOrObject.resolveToDescriptorIfAny() as? ClassDescriptor ?: return false
|
||||
val classDescriptor = classOrObject.resolveToDescriptorIfAny() ?: return false
|
||||
return OverrideResolver.getMissingImplementations(classDescriptor).any { it is PropertyDescriptor }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||
abstract class OverrideImplementMembersHandler : LanguageCodeInsightActionHandler {
|
||||
|
||||
fun collectMembersToGenerate(classOrObject: KtClassOrObject): Collection<OverrideMemberChooserObject> {
|
||||
val descriptor = classOrObject.resolveToDescriptorIfAny() as? ClassDescriptor ?: return emptySet()
|
||||
val descriptor = classOrObject.resolveToDescriptorIfAny() ?: return emptySet()
|
||||
return collectMembersToGenerate(descriptor, classOrObject.project)
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ fun KtDeclaration.toDescriptor(): DeclarationDescriptor? {
|
||||
val bindingContext = analyze()
|
||||
// TODO: temporary code
|
||||
if (this is KtPrimaryConstructor) {
|
||||
return (this.getContainingClassOrObject().resolveToDescriptorIfAny() as? ClassDescriptor)?.unsubstitutedPrimaryConstructor
|
||||
return this.getContainingClassOrObject().resolveToDescriptorIfAny()?.unsubstitutedPrimaryConstructor
|
||||
}
|
||||
|
||||
val descriptor = bindingContext[BindingContext.DECLARATION_TO_DESCRIPTOR, this]
|
||||
|
||||
Reference in New Issue
Block a user