[FIR] Extend DeclarationPredicate DSL

This commit is contained in:
Dmitriy Novozhilov
2022-05-13 16:20:42 +03:00
committed by teamcity
parent 6ff848432b
commit c7e3da8709
2 changed files with 18 additions and 1 deletions
@@ -28,12 +28,19 @@ abstract class FirPredicateBasedProvider : FirSessionComponent {
abstract fun fileHasPluginAnnotations(file: FirFile): Boolean
abstract fun matches(predicate: DeclarationPredicate, declaration: FirDeclaration): Boolean
open fun registerAnnotatedDeclaration(declaration: FirDeclaration, owners: PersistentList<FirDeclaration>) {
fun matches(predicate: DeclarationPredicate, declaration: FirBasedSymbol<*>): Boolean {
return matches(predicate, declaration.fir)
}
fun matches(predicates: List<DeclarationPredicate>, declaration: FirDeclaration): Boolean {
return predicates.any { matches(it, declaration) }
}
fun matches(predicates: List<DeclarationPredicate>, declaration: FirBasedSymbol<*>): Boolean {
return matches(predicates, declaration.fir)
}
open fun registerAnnotatedDeclaration(declaration: FirDeclaration, owners: PersistentList<FirDeclaration>) {}
}
@NoMutableState