package Ġcom . av ito . android . runner . annotation . resolver Ċ Ċ /** Ċ Ġ* ĠExtract s Ġannotation Ġvalue Ġfrom Ġtest Ġmethod Ġor Ġclass Ċ Ġ* Ċ Ġ* Ġsee ĠIn House Instrumentation TestRunner . parse Test Annotations Ċ Ġ*/ Ċ open Ġclass ĠAnnotation Resolver < T Ġ: ĠAnnotation >( ĊĠĠĠ Ġoverride Ġval Ġkey : ĠString , ĊĠĠĠ Ġprivate Ġval Ġannotation Class : ĠClass < T >, ĊĠĠĠ Ġprivate Ġval Ġannotation Resolution Getter : Ġ( T ) Ġ-> ĠTest Metadata Resolver . Resolution Ċ ) Ġ: ĠTest Metadata Resolver Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġresolve ( test : ĠTest Method Or Class ): ĠTest Metadata Resolver . Resolution Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( test . test Method Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest . test Class . resolve Class Annotation ( test ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest . test Method . getAnnotation ( annotation Class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġannotation Resolution Getter . invoke ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġtest . test Class . resolve Class Annotation ( test ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠClass <* >. resolve Class Annotation ( test : ĠTest Method Or Class ): ĠTest Metadata Resolver . Resolution Ġ= ĊĠĠĠĠĠĠĠ Ġget Annotation ( annotation Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġannotation Resolution Getter . invoke ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠTest Metadata Resolver . Resolution . Nothing To Change ( default Reason ( test )) ĊĊĠĠĠ Ġprivate Ġfun Ġdefault Reason ( test : ĠTest Method Or Class ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġ"$ annotation Class Ġannotation Ġnot Ġspecified Ġfor : Ġ$ test " Ċ } Ċ