package Ġdev . false hon est y . element at ools Ċ Ċ import Ġorg . jetbrains . kotlin . backend . common . File Lower ing Pass Ċ import Ġorg . jetbrains . kotlin . backend . common . Ir Element Transformer Void WithContext Ċ import Ġorg . jetbrains . kotlin . backend . common . extensions . Ir Plugin Context Ċ import Ġorg . jetbrains . kotlin . backend . common . lower . Declaration Ir Builder Ċ import Ġorg . jetbrains . kotlin . backend . common . lower . at Ċ import Ġorg . jetbrains . kotlin . ir . Ir Statement Ċ import Ġorg . jetbrains . kotlin . ir . builders .* Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Field Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir File Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Variable Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Constructor Call Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Expression Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Set Field Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Set Variable Ċ import Ġorg . jetbrains . kotlin . ir . types . getClass Ċ import Ġorg . jetbrains . kotlin . ir . util . is Subclass Of Ċ import Ġorg . jetbrains . kotlin . ir . util . properties Ċ import Ġorg . jetbrains . kotlin . name . Fq Name Ċ Ċ class ĠElement a Tools Assignment Transformer ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠIr Plugin Context Ċ ) Ġ: ĠIr Element Transformer Void WithContext (), ĠFile Lower ing Pass Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtarget Super Class Ġ= Ġcontext . reference Class ( TARGET _ SUPER _ CLASS _ NAME ) !! ĊĠĠĠ Ġprivate Ġvar Ġcurrent Variable Name : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġlower ( ir File : ĠIr File ) Ġ{ ĊĠĠĠĠĠĠĠ Ġir File . transform Children Void () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Constructor Call ( expression : ĠIr Constructor Call ): ĠIr Expression Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( current Variable Name Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Constructor Call ( expression ) ĊĠĠĠĠĠĠĠ Ġval Ġconstructor Class Ġ= Ġexpression . type . getClass () Ġ?: Ġreturn Ġsuper . visit Constructor Call ( expression ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! constructor Class . is Subclass Of ( target Super Class . owner )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Constructor Call ( expression ) ĊĊĠĠĠĠĠĠĠ Ġval Ġname Property Setter Ġ= Ġconstructor Class . properties . find Ġ{ Ġit . name . asString () Ġ== Ġ" component Name " Ġ} ?. setter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġsuper . visit Constructor Call ( expression ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsymbol Ġ= Ġcurrent Scope !!. scope . scope Owner Symbol ĊĠĠĠĠĠĠĠ Ġreturn ĠDeclaration Ir Builder ( context , Ġsymbol ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġat ( expression ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġir Block Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconstructed Instance Ġ= Ġir Temporary ( expression ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ir Set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Property Setter . returnType , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġir Get ( construct ed Instance ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Property Setter . symbol , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġir String ( current Variable Name !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ir Get ( construct ed Instance ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Variable Name Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Variable ( declaration : ĠIr Variable ): ĠIr Statement Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Variable Name Ġ= Ġdeclaration . name . asString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Variable ( declaration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Set Variable ( expression : ĠIr Set Variable ): ĠIr Expression Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Variable Name Ġ= Ġexpression . symbol . owner . name . asString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Set Variable ( expression ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Field New ( declaration : ĠIr Field ): ĠIr Statement Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Variable Name Ġ= Ġdeclaration . name . asString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Field New ( declaration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Set Field ( expression : ĠIr Set Field ): ĠIr Expression Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Variable Name Ġ= Ġexpression . symbol . owner . name . asString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . visit Set Field ( expression ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTARGET _ SUPER _ CLASS _ NAME Ġ= ĠF q Name (" club . sk 1 er . element a . UI Component ") ĊĠĠĠ Ġ} Ċ } Ċ