From f319b1b93a24e02fac54f27cc38d71708a15b1fd Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 9 Dec 2015 17:53:45 +0300 Subject: [PATCH] Sealed classes are not taken into account in live templates --- .../kotlin/idea/liveTemplates/macro/AnonymousSuperMacro.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/idea/idea-live-templates/src/org/jetbrains/kotlin/idea/liveTemplates/macro/AnonymousSuperMacro.kt b/idea/idea-live-templates/src/org/jetbrains/kotlin/idea/liveTemplates/macro/AnonymousSuperMacro.kt index 47c45455bac..b948db91c49 100644 --- a/idea/idea-live-templates/src/org/jetbrains/kotlin/idea/liveTemplates/macro/AnonymousSuperMacro.kt +++ b/idea/idea-live-templates/src/org/jetbrains/kotlin/idea/liveTemplates/macro/AnonymousSuperMacro.kt @@ -27,7 +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.descriptors.Modality import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.util.getResolutionScope @@ -74,7 +74,9 @@ class AnonymousSuperMacro : Macro() { return resolutionScope .collectDescriptorsFiltered(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS) - .filter { it is ClassDescriptor && !it.isFinal && (it.kind == ClassKind.CLASS || it.kind == ClassKind.INTERFACE) } + .filter { it is ClassDescriptor && + (it.modality == Modality.OPEN || it.modality == Modality.ABSTRACT) && + (it.kind == ClassKind.CLASS || it.kind == ClassKind.INTERFACE) } .mapNotNull { DescriptorToSourceUtils.descriptorToDeclaration(it) as PsiNamedElement? } } }