blob: 7e64077aecc7587ed1946f1260a465828964c401 [file]
// RUN_PIPELINE_TILL: CODEGEN
interface ClassId
interface JavaAnnotation {
val classId: ClassId?
}
interface JavaAnnotationOwner {
val annotations: Collection<JavaAnnotation>
}
interface MapBasedJavaAnnotationOwner : JavaAnnotationOwner {
val annotationsByFqNameHash: Map<Int?, JavaAnnotation>
}
fun JavaAnnotationOwner.buildLazyValueForMap() = lazy {
annotations.associateBy { it.classId?.hashCode() }
}
abstract class BinaryJavaMethodBase(): MapBasedJavaAnnotationOwner {
override val annotationsByFqNameHash by buildLazyValueForMap()
}
/* GENERATED_FIR_TAGS: classDeclaration, funWithExtensionReceiver, functionDeclaration, interfaceDeclaration,
lambdaLiteral, nullableType, override, primaryConstructor, propertyDeclaration, propertyDelegate, safeCall */