[LL FIR] KT-57207 Combine Java symbol providers

- `LLFirCombinedJavaSymbolProvider` combines multiple
  `JavaSymbolProvider`s. Its advantages are: combined index access,
  caching, classpath order disambiguation.
- Scopes can still be optimized with a combined scope instead of a naive
  union scope.

^KT-57207 fixed
This commit is contained in:
Marco Pennekamp
2023-04-04 18:29:14 +02:00
committed by Space Team
parent 3da3e14543
commit e13d4f2328
5 changed files with 105 additions and 9 deletions
@@ -52,7 +52,7 @@ val JavaClass.classKind: ClassKind
else -> ClassKind.CLASS
}
internal fun JavaClass.hasMetadataAnnotation(): Boolean =
fun JavaClass.hasMetadataAnnotation(): Boolean =
annotations.any { it.classId?.asSingleFqName() == JvmAnnotationNames.METADATA_FQ_NAME }
internal fun Any?.createConstantOrError(session: FirSession): FirExpression {