Refactoring: ClassDescriptor.isFinal, no more Modality.isOverridable

This commit is contained in:
Mikhail Glukhikh
2015-12-08 18:09:44 +03:00
parent fb406bfc24
commit 9a4eb2a368
9 changed files with 16 additions and 13 deletions
@@ -27,6 +27,7 @@ import com.intellij.psi.PsiNamedElement
import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.isFinal
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.util.getResolutionScope
@@ -73,7 +74,7 @@ class AnonymousSuperMacro : Macro() {
return resolutionScope
.collectDescriptorsFiltered(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS)
.filter { it is ClassDescriptor && it.modality.isOverridable && (it.kind == ClassKind.CLASS || it.kind == ClassKind.INTERFACE) }
.filter { it is ClassDescriptor && !it.isFinal && (it.kind == ClassKind.CLASS || it.kind == ClassKind.INTERFACE) }
.mapNotNull { DescriptorToSourceUtils.descriptorToDeclaration(it) as PsiNamedElement? }
}
}