/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠSquare , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . squareup . inject . ass isted . d agger 2 . processor . internal Ċ Ċ import Ġcom . squareup . inject . ass isted . processor . internal . getAnnotation Ċ import Ġcom . squareup . jav ap o et . Annotation Spec Ċ import Ġcom . squareup . jav ap o et . ClassName Ċ import Ġjavax . lang . model . element . Type Element Ċ import Ġjavax . lang . model . util . Elements Ċ Ċ internal Ġfun Ġgenerate H ilt Annotation ( module Type : ĠType Element , Ġelements : ĠElements ): ĠAnnotation Spec ? Ġ{ ĊĠ Ġval Ġinstall In Ġ= Ġmodule Type . getAnnotation (" d agger . h ilt . Install In ") ĊĠ Ġif Ġ( install In Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġ// ĠIf Ġthe Ġ@ Ass isted Module Ġclass Ġalso Ġhas Ġan Ġ@ Install In Ġwe Ġjust Ġmirror Ġthe Ġannotation . ĊĠĠĠ Ġreturn ĠAnnotation Spec . get ( install In ) ĊĠ Ġ} ĊĠ Ġ// ĠIf Ġthere Ġis Ġno Ġ@ Install In Ġannotation Ġwe Ġadd Ġthe Ġ@ Disable Install In Check Ġannotation , Ġif ĊĠ Ġ// Ġit Ġexists . ĊĠ Ġval Ġdisable Install In Check Ġ= ĠClass Name . get (" d agger . h ilt . migration ", Ġ" Disable Install In Check ") ĊĠ Ġif Ġ( elements . getType Element ( disable Install In Check . reflection Name ()) Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġreturn ĠAnnotation Spec . builder ( disable Install In Check ). build () ĊĠ Ġ} ĊĠ Ġreturn Ġnull Ċ } Ċ