AnnotationTagsBuilder
Materializes annotation tags as IR expressions. Resolves the required stdlib symbols (kotlin.Pair, kotlin.collections.mapOf/emptyMap) once and offers the two shapes the transformers need: a Map<String, Any> argument (buildMap, used by @Logged for Logger.logged) and a vararg tags: Pair<String, Any> argument (buildVararg, used by @Timed for Meter.timed).
Constructors
Functions
Builds the tags as a Map<String, Any> expression typed as mapType: emptyMap() when there are none, else mapOf(Pair(k, v), …) (later entries win, giving function tags priority over class-level ones). Returns null — after reporting against annotationName — when the required stdlib symbols cannot be resolved.
Builds the tags as the vararg tags: Pair<String, Any> argument described by tagsParam (e.g. Meter.timed's). When Pair cannot be resolved, the failure is reported against annotationName and the empty vararg is returned, so instrumentation proceeds without tags.