package Ġde . j ens k ling en berg . mp apt . extension Ċ Ċ import Ġde . j ens k ling en berg . mp apt . model . Abstract Processor Ċ import Ġorg . jetbrains . kotlin . codegen . Class Builder Ċ import Ġorg . jetbrains . kotlin . descriptors .* Ċ import Ġorg . jetbrains . kotlin . resolve . jvm . diagnostics . Jvm Declaration Origin Ċ import Ġorg . jetbrains . org . object web . asm . Field Visitor Ċ import Ġorg . jetbrains . org . object web . asm . Method Visitor Ċ Ċ class ĠDeleg ating Class Builder Impl ( ĊĠĠĠĠĠĠĠ Ġval Ġdelegate Builder : ĠClass Builder ) Ġ: Ġorg . jetbrains . kotlin . codegen . Delegating Class Builder () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Delegate () Ġ= Ġdelegate Builder ĊĊĊĠĠĠ Ġoverride Ġfun Ġnew Method ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorigin : ĠJ vm Declaration Origin , Ġaccess : ĠInt , Ġname : ĠString , Ġdesc : ĠString , Ġsignature : ĠString ?, Ġexceptions : ĠArray < out ĠString >? ĊĠĠĠ Ġ): ĠMethod Visitor Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġtest . log (" new Method : ĠĠ Ġ"+ name ) ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠClass Parser . parse Method ( origin . descriptor Ġas ĠClass Descriptor ,) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( origin . descriptor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠClass Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠClass Constructor Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠProperty Getter Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠProperty Setter Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSimple Function Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġsuper . new Method ( origin , Ġaccess , Ġname , Ġdesc , Ġsignature , Ġexceptions ) ĊĠĠĠĠĠĠĠ Ġreturn Ġoriginal ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġnew Field ( origin : ĠJ vm Declaration Origin , Ġaccess : ĠInt , Ġname : ĠString , Ġdesc : ĠString , Ġsignature : ĠString ?, Ġvalue : ĠAny ?): ĠField Visitor Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠProperty ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( origin . descriptor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠProperty Descriptor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . new Field ( origin , Ġaccess , Ġname , Ġdesc , Ġsignature , Ġvalue ) ĊĠĠĠ Ġ} Ċ Ċ }