[FIR] Change predicate providing API for FIR extensions
Predicate declaration was split into two parts: - registering any number of predicates which are used in specific extension - special checks for declaration applicability for each specific extension
This commit is contained in:
committed by
TeamCityServer
parent
20e35167c8
commit
6a14d91dbd
@@ -34,9 +34,14 @@ abstract class FirExtension(val session: FirSession) {
|
||||
}
|
||||
|
||||
abstract class FirPredicateBasedExtension(session: FirSession) : FirExtension(session) {
|
||||
abstract val predicate: DeclarationPredicate
|
||||
abstract fun FirDeclarationPredicateRegistrar.registerPredicates()
|
||||
}
|
||||
|
||||
data class FirExtensionPointName(val name: Name) {
|
||||
constructor(name: String) : this(Name.identifier(name))
|
||||
}
|
||||
|
||||
abstract class FirDeclarationPredicateRegistrar {
|
||||
abstract fun register(vararg predicates: DeclarationPredicate)
|
||||
abstract fun register(predicates: Collection<DeclarationPredicate>)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user