[FIR-PLUGIN] Change allopen plugin according to previous commit
This commit is contained in:
+7
-3
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.FirEffectiveVisibility
|
||||
import org.jetbrains.kotlin.fir.FirEffectiveVisibilityImpl
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildClassImpl
|
||||
@@ -45,8 +46,11 @@ class AllOpenClassGenerator(session: FirSession) : FirClassGenerationExtension(s
|
||||
return listOf(GeneratedClass(klass, containingFile))
|
||||
}
|
||||
|
||||
override val annotations: Set<AnnotationFqn> =
|
||||
setOf(FqName("org.jetbrains.kotlin.fir.allopen.WithClass"))
|
||||
override val directlyApplicableAnnotations: Set<AnnotationFqn> = setOf(FqName("org.jetbrains.kotlin.fir.allopen.WithClass"))
|
||||
|
||||
override val metaAnnotations: Set<AnnotationFqn> = emptySet()
|
||||
override val childrenApplicableAnnotations: Set<AnnotationFqn>
|
||||
get() = emptySet()
|
||||
|
||||
override val metaAnnotations: Map<AnnotationFqn, MetaAnnotationMode>
|
||||
get() = emptyMap()
|
||||
}
|
||||
+12
-5
@@ -15,17 +15,24 @@ import org.jetbrains.kotlin.fir.extensions.transform
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
class AllOpenStatusTransformer(session: FirSession) : FirStatusTransformerExtension(session) {
|
||||
companion object {
|
||||
private val ALL_OPEN = FqName("org.jetbrains.kotlin.fir.allopen.AllOpen")
|
||||
}
|
||||
|
||||
override fun transformStatus(declaration: FirDeclaration, status: FirDeclarationStatus): FirDeclarationStatus {
|
||||
if (status.modality != null) return status
|
||||
return status.transform(modality = Modality.OPEN)
|
||||
}
|
||||
|
||||
override val mode: Mode
|
||||
get() = Mode.ALL_IN_ANNOTATED_ELEMENT
|
||||
get() = Mode.ANNOTATED_ELEMENT
|
||||
|
||||
override val annotations: Set<AnnotationFqn> =
|
||||
setOf(FqName("org.jetbrains.kotlin.fir.allopen.AllOpen"))
|
||||
override val directlyApplicableAnnotations: Set<AnnotationFqn>
|
||||
get() = setOf(ALL_OPEN)
|
||||
|
||||
override val metaAnnotations: Set<AnnotationFqn> =
|
||||
setOf(FqName("org.jetbrains.kotlin.fir.allopen.AllOpen"))
|
||||
override val childrenApplicableAnnotations: Set<AnnotationFqn>
|
||||
get() = setOf(ALL_OPEN)
|
||||
|
||||
override val metaAnnotations: Map<AnnotationFqn, MetaAnnotationMode>
|
||||
get() = mapOf(ALL_OPEN to MetaAnnotationMode.ANNOTATED_AND_CHILDREN)
|
||||
}
|
||||
Reference in New Issue
Block a user