package Ġorg . jl le its ch uh . gu ice . binder Ċ Ċ import Ġcom . google . inject . binder . Annotated Binding Builder Ċ import Ġcom . google . inject . binder . Linked Binding Builder Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Suppress (" Member Visibility Can Be Private ") Ċ class ĠAnnot ated Binding Builder Scope < T Ġ: ĠAny >( ĊĠĠĠ Ġprivate Ġval Ġannotated Binding Builder : ĠAnnot ated Binding Builder < T > Ċ ) Ġ: ĠLinked Binding Builder Scope < T >( annotated Binding Builder ), ĠAnnot ated Binding Builder < T > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSee Ġthe ĠED SL Ġexamples Ġat Ġ[ com . google . inject . Binder ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġannotated With ( annotation Type : ĠK Class < out ĠAnnotation >): ĠLinked Binding Builder Scope < T > Ġ= ĊĠĠĠĠĠĠĠ Ġannotated With ( annotation Type . java ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSee Ġthe ĠED SL Ġexamples Ġat Ġ[ com . google . inject . Binder ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġannotated With ( annotation Type : ĠClass < out ĠAnnotation >): ĠLinked Binding Builder Scope < T > Ġ= ĊĠĠĠĠĠĠĠ ĠLinked Binding Builder Scope ( annotated Binding Builder . annotated With ( annotation Type )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSee Ġthe ĠED SL Ġexamples Ġat Ġ[ com . google . inject . Binder ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġannotated With ( annotation : ĠAnnotation ): ĠLinked Binding Builder Scope < T > Ġ= ĊĠĠĠĠĠĠĠ ĠLinked Binding Builder Scope ( annotated Binding Builder . annotated With ( annotation )) Ċ Ċ }