Sealed classes are not taken into account in live templates
This commit is contained in:
+4
-2
@@ -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? }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user