package Ġcom . by but ter . sis y ph us . protobuf . compiler Ċ Ċ import Ġcom . by but ter . sis y ph us . collection . content Equals Ċ import Ġcom . by but ter . sis y ph us . protobuf . compiler . util . escape Doc Ċ import Ġcom . by but ter . sis y ph us . string . to Pas cal Case Ċ import Ġcom . google . protobuf . Descriptor Protos Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ import Ġcom . squareup . kotlin po et . Member Name Ċ import Ġcom . squareup . kotlin po et . Member Name . Companion . member Ċ Ċ class ĠExtension Descriptor ( ĊĠĠĠ Ġoverride Ġval Ġparent : ĠDescriptor Node <* >, ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠDescriptor Protos . FieldDescriptor Proto Ċ ) Ġ: ĠDescriptor Node < Descriptor Protos . FieldDescriptor Proto >() Ġ{ ĊĠĠĠ Ġfun Ġsupport Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ this . descriptor . json Name . to Pas cal Case ()} Extension Support For ${ ext en dee (). descriptor . name }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsupport ClassName (): ĠClass Name Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġparent Ġ= Ġparent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFile Descriptor Ġ-> ĠClass Name ( parent . internal PackageName (), Ġsupport Name ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMessage Descriptor Ġ-> Ġparent . support ClassName (). nested Class ( support Name ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠTODO () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġproperty Member Name (): ĠMember Name Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġparent Ġ= Ġparent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFile Descriptor Ġ-> ĠMember Name ( parent . packageName (), Ġdescriptor . json Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMessage Descriptor Ġ-> Ġparent . className (). member ( descriptor . json Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠTODO () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġext en dee (): ĠMessage Descriptor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfile Set (). ensure Message ( descriptor . ext en dee ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdocument (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġescape Doc ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile (). descriptor . sourceCode Info ?. location List ?. first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . path List . content Equals ( path ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. leading Comments Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpath (): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġparent Ġ= Ġparent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFile Descriptor Ġ-> ĠlistOf < Int >() Ġ+ ĠDescriptor Protos . FileDescriptor Proto . EXTENSION _ FIELD _ NUMBER Ġ+ Ġparent . descriptor . extension List . indexOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMessage Descriptor Ġ-> Ġparent . path () Ġ+ ĠDescriptor Protos . Descriptor Proto . EXTENSION _ FIELD _ NUMBER Ġ+ Ġparent . descriptor . extension List . indexOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠTODO () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ