package Ġcom . mars . infra . le go . compiler Ċ Ċ import Ġcom . mars . infra . le go . annotation . Worker Thread Ċ import Ġcom . squareup . kotlin po et . Fun Spec Ċ import Ġcom . squareup . kotlin po et . K Modifier Ċ import Ġjavax . lang . model . element . Type Element Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠM ars Ġon Ġ 2 0 2 2 / 3 / 1 0 Ċ Ġ*/ Ċ class ĠWorker Thread Builder ( element : ĠType Element ) Ġ{ ĊĊĠĠĠ Ġvar Ġcall MainThread : ĠBoolean ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġannotation Ġ= Ġelement . getAnnotation ( Worker Thread :: class . java ) ĊĠĠĠĠĠĠĠ Ġcall MainThread Ġ= Ġannotation . call MainThread ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġval Ġcall MainThread Fun Spec Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠFun Spec . builder (" call On MainThread ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Modifiers ( K Modifier . OVERRIDE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. returns ( Boolean :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Statement (" return Ġ% L ", Ġcall MainThread ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠFun Spec Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcall MainThread Fun Spec ĊĠĠĠ Ġ} Ċ }