package Ġcom . github . lexer . in jekt or Ċ Ċ import Ġkotlin . reflect . K Class Ċ Ċ interface ĠInject or Ġ{ ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠAny > Ġget ( clazz : ĠK Class < T >): ĠT ĊĊĠĠĠ Ġcompanion Ġobject ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( modules : ĠList < Module >, Ġlogger : ĠInject or Logger Ġ= ĠNo Op Logger ()): ĠInject or Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkont ainer Ġ= ĠInject or Impl ( logger ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkont ainer . plus ( modules ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġkont ainer ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Scope ( scope Name : ĠString ) ĊĠĠĠ Ġfun Ġstop Scope ( scope Name : ĠString ) Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠInject or . get (): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġthis . get ( T :: class ) Ċ }