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 com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
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.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.util.getResolutionScope
|
import org.jetbrains.kotlin.idea.util.getResolutionScope
|
||||||
@@ -74,7 +74,9 @@ class AnonymousSuperMacro : Macro() {
|
|||||||
|
|
||||||
return resolutionScope
|
return resolutionScope
|
||||||
.collectDescriptorsFiltered(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS)
|
.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? }
|
.mapNotNull { DescriptorToSourceUtils.descriptorToDeclaration(it) as PsiNamedElement? }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user