annotation class InAnn(val value: String) @InAnn("Tagged") class AnnHolder @InAnn(value = "Tagged") class AnotherAnnHolder @InAnn("This is Tagged") class ComplexAnnHolder { @InAnn("That is Tagged") fun foo() {} } @InAnn("This is also Tagged") fun bar() {} fun baz(@InAnn("This is Tagged too") x: Int) {} @Target(AnnotationTarget.EXPRESSION) @Retention(AnnotationRetention.SOURCE) annotation class ExprAnn(val value: String) val inProperty = "Tagged" fun foo() { @InAnn("Local Tagged") val x = @ExprAnn("Tagged") inProperty }