package Ġorg . jetbrains . dok ka . kotlin As Java . converters Ċ Ċ import Ġorg . jetbrains . dok ka . kotlin As Java . has Jvm Over loads Ċ import Ġorg . jetbrains . dok ka . kotlin As Java . has Jvm Synt hetic Ċ import Ġorg . jetbrains . dok ka . kotlin As Java . jvm Field Ċ import Ġorg . jetbrains . dok ka . kotlin As Java . transformers . Jvm Name Provider Ċ import Ġorg . jetbrains . dok ka . kotlin As Java . transformers . with Callable Name Ċ import Ġorg . jetbrains . dok ka . links . Callable Ċ import Ġorg . jetbrains . dok ka . links . DR I Ċ import Ġorg . jetbrains . dok ka . links . Point ing To Declaration Ċ import Ġorg . jetbrains . dok ka . links . with Class Ċ import Ġorg . jetbrains . dok ka . model .* Ċ import Ġorg . jetbrains . dok ka . model . properties . Property Container Ċ import Ġorg . jetbrains . kotlin . builtins . jvm . Java To Kotlin Class Map Ċ import Ġorg . jetbrains . kotlin . name . Class Id Ċ import Ġorg . jetbrains . kotlin . name . Fq Name Ċ import Ġorg . jetbrains . kotlin . resolve . jvm . Jvm Primitive Type Ċ Ċ val Ġj vm Name Provider Ġ= ĠJ vm Name Provider () Ċ Ċ private Ġval ĠD Property . is Const : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġextra [ Additional Modifiers ] ĊĠĠĠĠĠĠĠ Ġ? . content ĊĠĠĠĠĠĠĠ Ġ? . any Ġ{ Ġ(_, Ġmodifiers ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExtra Modifiers . Kotlin Only Modifiers . Const Ġin Ġmodifiers ĊĠĠĠĠĠĠĠ Ġ} Ġ== Ġtrue Ċ Ċ private Ġval ĠD Property . is Jvm Field : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġj vm Field () Ġ!= Ġnull Ċ Ċ internal Ġfun ĠD Package . as Java (): ĠD Package Ġ{ ĊĠĠĠ Ġval Ġsynthetic Classes Ġ= ĊĠĠĠĠĠĠĠ Ġ( properties . map Ġ{ Ġj vm Name Provider . name For Synt hetic Class ( it ) Ġto Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġfunctions . map Ġ{ Ġj vm Name Provider . name For Synt hetic Class ( it ) Ġto Ġit Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. groupBy ({ Ġit . first Ġ}) Ġ{ Ġit . second Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( synt hetic ClassName , Ġnodes ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD Class ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ri Ġ= Ġd ri . with Class ( synt hetic ClassName . name ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġsynthetic ClassName . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= Ġnodes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < D Property >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . as Java ( true ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstructors Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfunctions Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnodes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < D Property >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is Const Ġ|| Ġit . is Jvm Field Ġ|| Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . java Accessors ( re locate To Class Ġ= Ġsynthetic ClassName . name ) Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnodes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < D Function >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( synt hetic ClassName . name , Ġtrue ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass likes Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsources Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect Present In Set Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto ĠJava Visibility . Public ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompanion Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgener ics Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsup ert ypes Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdocumentation Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġsource Sets . map Ġ{ Ġit Ġto ĠJava Modifier . Final Ġ}. toMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets Ġ= Ġsource Sets , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Expect Actual Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= ĠProperty Container . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġcopy ( ĊĠĠĠĠĠĠĠ Ġfunctions Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġproperties Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ} Ġ+ Ġsynthetic Classes , ĊĠĠĠĠĠĠĠ Ġtype aliases Ġ= Ġempty List () ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun ĠD Property . as Java ( is TopLevel : ĠBoolean Ġ= Ġfalse , Ġre locate To Class : ĠString ? Ġ= Ġnull ) Ġ= ĊĠĠĠ Ġcopy ( ĊĠĠĠĠĠĠĠ Ġd ri Ġ= Ġif Ġ( re locate To Class . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd ri ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd ri . with Class ( re locate To Class ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġjava Modifier From Setter (), ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġvisibility . map Values Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is TopLevel Ġ&& Ġis Const ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJava Visibility . Public ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( jvm Field () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value . as Java () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value . property Visibility As Java () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġtype . as Java (), Ġ// ĠTODO : Ġcheck ĊĠĠĠĠĠĠĠ Ġsetter Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġgetter Ġ= Ġnull , Ġ// ĠRemoving Ġgetters Ġand Ġset ters Ġas Ġthey Ġwill Ġbe Ġavailable Ġas Ġfunctions ĊĠĠĠĠĠĠĠ Ġextra Ġ= Ġif Ġ( is TopLevel ) Ġextra Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra . merge Additional Modifiers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto Ġset Of ( Extra Modifiers . Java Only Modifiers . Static ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġelse Ġextra ĊĠĠĠ Ġ) Ċ Ċ internal Ġfun ĠVisibility . as Java () Ġ= ĊĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠJava Visibility Ġ-> Ġthis ĊĠĠĠĠĠĠĠ Ġis ĠKotlin Visibility . Public , ĠKotlin Visibility . Internal Ġ-> ĠJava Visibility . Public ĊĠĠĠĠĠĠĠ Ġis ĠKotlin Visibility . Private Ġ-> ĠJava Visibility . Private ĊĠĠĠĠĠĠĠ Ġis ĠKotlin Visibility . Protected Ġ-> ĠJava Visibility . Protected ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun ĠD Property . java Modifier From Setter () Ġ= ĊĠĠĠ Ġmodifier . map Values Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Ġis ĠJava Modifier Ġ-> Ġit . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetter Ġ== Ġnull Ġ-> ĠJava Modifier . Final ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠJava Modifier . Empty ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun ĠD Property . java Accessors ( is TopLevel : ĠBoolean Ġ= Ġfalse , Ġre locate To Class : ĠString ? Ġ= Ġnull ): ĠList < D Function > Ġ= ĊĠĠĠ ĠlistOf NotNull ( ĊĠĠĠĠĠĠĠ Ġgetter ?. let Ġ{ Ġgetter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġ" get " Ġ+ Ġname . capitalize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ri Ġ= Ġif Ġ( re locate To Class . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetter . d ri ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetter . d ri . with Class ( re locate To Class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. with Callable Name ( name ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġjava Modifier From Setter (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġvisibility . map Values Ġ{ ĠJava Visibility . Public Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġgetter . type . as Java (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= Ġif Ġ( is TopLevel ) Ġgetter . extra Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetter . extra . merge Additional Modifiers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto Ġset Of ( Extra Modifiers . Java Only Modifiers . Static ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġgetter . extra ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġsetter ?. let Ġ{ Ġsetter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġ" set " Ġ+ Ġname . capitalize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase DR I Ġ= Ġ( if Ġ( re locate To Class . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetter . d ri ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetter . d ri . with Class ( re locate To Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). with Callable Name ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetter . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ri Ġ= Ġbase DR I , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġsetter . parameters . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ri Ġ= Ġbase DR I . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Ġ= Ġit . d ri . target , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= Ġit . d ri . extra ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġtype Ġ= Ġit . type . as Java () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġjava Modifier From Setter (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġvisibility . map Values Ġ{ ĠJava Visibility . Public Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠVoid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= Ġif Ġ( is TopLevel ) Ġsetter . extra Ġ+ Ġsetter . extra . merge Additional Modifiers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto Ġset Of ( Extra Modifiers . Java Only Modifiers . Static ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġsetter . extra ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ Ċ private Ġfun ĠD Function . as Java ( ĊĠĠĠ Ġcontaining ClassName : ĠString , ĊĠĠĠ ĠnewName : ĠString , ĊĠĠĠ Ġparameters : ĠList < D Parameter >, ĊĠĠĠ Ġis TopLevel : ĠBoolean Ġ= Ġfalse Ċ ): ĠD Function Ġ{ ĊĠĠĠ Ġreturn Ġcopy ( ĊĠĠĠĠĠĠĠ Ġd ri Ġ= Ġd ri . copy ( class Names Ġ= Ġcontaining ClassName , Ġcallable Ġ= Ġd ri . callable ?. copy ( name Ġ= ĠnewName )), ĊĠĠĠĠĠĠĠ Ġname Ġ= ĠnewName , ĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġtype . as Java (), ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġif Ġ( modifier . all Ġ{ Ġ(_, Ġv ) Ġ-> Ġv Ġis ĠKotlin Modifier . Final Ġ} Ġ&& Ġis Constructor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . map Ġ{ Ġit Ġto ĠJava Modifier . Empty Ġ}. toMap () ĊĠĠĠĠĠĠĠ Ġelse Ġsource Sets . map Ġ{ Ġit Ġto Ġmodifier . values . first () Ġ}. toMap (), ĊĠĠĠĠĠĠĠ Ġparameters Ġ= ĠlistOf NotNull ( receiver ?. as Java ()) Ġ+ Ġparameters . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġvisibility . map Ġ{ Ġ( source Set , Ġvisibility ) Ġ-> ĠPair ( source Set , Ġvisibility . as Java ()) Ġ}. toMap (), ĊĠĠĠĠĠĠĠ Ġreceiver Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġextra Ġ= Ġif Ġ( is TopLevel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ+ Ġextra . merge Additional Modifiers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto Ġset Of ( Extra Modifiers . Java Only Modifiers . Static ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextra ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠD Function . with Jvm Over loads ( ĊĠĠĠ Ġcontaining ClassName : ĠString , ĊĠĠĠ ĠnewName : ĠString , ĊĠĠĠ Ġis TopLevel : ĠBoolean Ġ= Ġfalse Ċ ): ĠList < D Function >? Ġ{ ĊĠĠĠ Ġval Ġ( params With Defaults , Ġparams Without Defaults ) Ġ= Ġparameters ĊĠĠĠĠĠĠĠ Ġ. with Index () ĊĠĠĠĠĠĠĠ Ġ. partition Ġ{ Ġ(_, Ġp ) Ġ-> Ġp . extra [ DefaultValue ] Ġ!= Ġnull Ġ} ĊĠĠĠ Ġreturn Ġparams With Defaults ĊĠĠĠĠĠĠĠ Ġ. running Fold ( params Without Defaults ) Ġ{ Ġacc , Ġparam Ġ-> Ġ( acc Ġ+ Ġparam ) Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġparams Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas Java ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontaining ClassName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnewName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By ( Indexed Value < D Parameter >:: index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . value Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis TopLevel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. reversed () ĊĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit . isNotEmpty () Ġ} Ċ } Ċ Ċ internal Ġfun ĠD Function . as Java ( containing ClassName : ĠString , Ġis TopLevel : ĠBoolean Ġ= Ġfalse ): ĠList < D Function > Ġ{ ĊĠĠĠ Ġval ĠnewName Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġis Constructor Ġ-> Ġcontaining ClassName ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġname ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġbase Function Ġ= Ġas Java ( containing ClassName , ĠnewName , Ġparameters , Ġis TopLevel ) ĊĠĠĠ Ġreturn Ġif Ġ( has Jvm Over loads ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Jvm Over loads ( containing ClassName , ĠnewName , Ġis TopLevel ) Ġ?: ĠlistOf ( base Function ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠlistOf ( base Function ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠD Class like . as Java (): ĠD Class like Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠD Class Ġ-> Ġas Java () ĊĠĠĠ Ġis ĠD Enum Ġ-> Ġas Java () ĊĠĠĠ Ġis ĠD Annotation Ġ-> Ġas Java () ĊĠĠĠ Ġis ĠD Object Ġ-> Ġas Java () ĊĠĠĠ Ġis ĠD Interface Ġ-> Ġas Java () ĊĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException ("$ this Ġshouldn 't Ġbe Ġhere ") Ċ } Ċ Ċ internal Ġfun ĠD Class . as Java (): ĠD Class Ġ= Ġcopy ( ĊĠĠĠ Ġconstructors Ġ= Ġconstructors ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname ) Ġ}, Ġ// Ġname Ġmay Ġnot Ġalways Ġbe Ġvalid Ġhere , Ġhowever ĠclassNames Ġshould Ġalways Ġbe Ġnot Ġnull ĊĠĠĠ Ġfunctions Ġ= Ġfunctions In Java (), ĊĠĠĠ Ġproperties Ġ= Ġproperties ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġgener ics Ġ= Ġgener ics . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġsup ert ypes Ġ= Ġsup ert ypes . map Values Ġ{ Ġit . value . map Ġ{ Ġit . as Java () Ġ} Ġ}, ĊĠĠĠ Ġmodifier Ġ= Ġif Ġ( modifier . all Ġ{ Ġ(_, Ġv ) Ġ-> Ġv Ġis ĠKotlin Modifier . Empty Ġ}) Ġsource Sets . map Ġ{ Ġit Ġto ĠJava Modifier . Final Ġ} ĊĠĠĠĠĠĠĠ Ġ. toMap () ĊĠĠĠ Ġelse Ġsource Sets . map Ġ{ Ġit Ġto Ġmodifier . values . first () Ġ}. toMap () Ċ ) Ċ Ċ internal Ġfun ĠD Class . functions In Java (): ĠList < D Function > Ġ= ĊĠĠĠ Ġproperties ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . jvm Field () Ġ== Ġnull Ġ&& Ġ! it . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġproperty Ġ-> ĠlistOf NotNull ( property . getter , Ġproperty . setter ) Ġ} ĊĠĠĠĠĠĠĠ Ġ. plus ( functions ) ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname ) Ġ} Ċ Ċ private Ġfun ĠD Type Parameter . as Java (): ĠD Type Parameter Ġ= Ġcopy ( ĊĠĠĠ Ġvariant Type Parameter Ġ= Ġvariant Type Parameter . with D ri ( d ri . possibly As Java ()), ĊĠĠĠ Ġbounds Ġ= Ġbounds . map Ġ{ Ġit . as Java () Ġ} Ċ ) Ċ Ċ private Ġfun ĠProjection . as Java (): ĠProjection Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠStar Ġ-> ĠStar ĊĠĠĠ Ġis ĠCo variance < *> Ġ-> Ġcopy ( inner . as Java ()) ĊĠĠĠ Ġis ĠContr av ari ance < *> Ġ-> Ġcopy ( inner . as Java ()) ĊĠĠĠ Ġis ĠIn variance < *> Ġ-> Ġcopy ( inner . as Java ()) ĊĠĠĠ Ġis ĠBound Ġ-> Ġas Java () Ċ } Ċ Ċ private Ġfun ĠBound . as Java (): ĠBound Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠType Parameter Ġ-> Ġcopy ( d ri . possibly As Java ()) ĊĠĠĠ Ġis ĠGeneric Type Constructor Ġ-> Ġcopy ( ĊĠĠĠĠĠĠĠ Ġd ri Ġ= Ġd ri . possibly As Java (), ĊĠĠĠĠĠĠĠ Ġprojection s Ġ= Ġprojection s . map Ġ{ Ġit . as Java () Ġ} ĊĠĠĠ Ġ) ĊĠĠĠ Ġis ĠFunctional Type Constructor Ġ-> Ġcopy ( ĊĠĠĠĠĠĠĠ Ġd ri Ġ= Ġd ri . possibly As Java (), ĊĠĠĠĠĠĠĠ Ġprojection s Ġ= Ġprojection s . map Ġ{ Ġit . as Java () Ġ} ĊĠĠĠ Ġ) ĊĠĠĠ Ġis ĠType Ali ased Ġ-> Ġcopy ( ĊĠĠĠĠĠĠĠ Ġtype Alias Ġ= Ġtype Alias . as Java (), ĊĠĠĠĠĠĠĠ Ġinner Ġ= Ġinner . as Java () ĊĠĠĠ Ġ) ĊĠĠĠ Ġis ĠNullable Ġ-> Ġcopy ( inner . as Java ()) ĊĠĠĠ Ġis ĠPrimitive Java Type Ġ-> Ġthis ĊĠĠĠ Ġis ĠVoid Ġ-> Ġthis ĊĠĠĠ Ġis ĠJava Object Ġ-> Ġthis ĊĠĠĠ Ġis ĠDynamic Ġ-> Ġthis ĊĠĠĠ Ġis ĠUn resolved Bound Ġ-> Ġthis Ċ } Ċ Ċ internal Ġfun ĠD Enum . as Java (): ĠD Enum Ġ= Ġcopy ( ĊĠĠĠ Ġconstructors Ġ= Ġconstructors . flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname ) Ġ}, ĊĠĠĠ Ġfunctions Ġ= Ġfunctions ĊĠĠĠĠĠĠĠ Ġ. plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ ĠlistOf ( it . getter , Ġit . setter ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname ) Ġ}, ĊĠĠĠ Ġproperties Ġ= Ġproperties ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġsup ert ypes Ġ= Ġsup ert ypes . map Values Ġ{ Ġit . value . map Ġ{ Ġit . as Java () Ġ} Ġ} Ċ // ĠĠĠ Ġ, Ġentries Ġ= Ġentries . map Ġ{ Ġit . as Java () Ġ} Ċ ) Ċ Ċ internal Ġfun ĠD Object . as Java (): ĠD Object Ġ= Ġcopy ( ĊĠĠĠ Ġfunctions Ġ= Ġfunctions ĊĠĠĠĠĠĠĠ Ġ. plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ ĠlistOf ( it . getter , Ġit . setter ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname . or Empty ()) Ġ}, ĊĠĠĠ Ġproperties Ġ= Ġproperties ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . as Java () Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" INSTANCE ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġsource Sets . map Ġ{ Ġit Ġto ĠJava Modifier . Final Ġ}. toMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ri Ġ= Ġd ri . copy ( callable Ġ= ĠCallable (" INSTANCE ", Ġnull , Ġempty List ())), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdocumentation Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsources Ġ= Ġempty Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġsource Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġto ĠJava Visibility . Public ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠGeneric Type Constructor ( d ri , Ġempty List ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetter Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets Ġ= Ġsource Sets , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreceiver Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgener ics Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect Present In Set Ġ= Ġexpect Present In Set , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Expect Actual Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= ĠProperty Container . with All ( source Sets . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( it Ġto Ġset Of ( Extra Modifiers . Java Only Modifiers . Static )). to Additional Modifiers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġsup ert ypes Ġ= Ġsup ert ypes . map Values Ġ{ Ġit . value . map Ġ{ Ġit . as Java () Ġ} Ġ} Ċ ) Ċ Ċ internal Ġfun ĠD Interface . as Java (): ĠD Interface Ġ= Ġcopy ( ĊĠĠĠ Ġfunctions Ġ= Ġfunctions ĊĠĠĠĠĠĠĠ Ġ. plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ ĠlistOf ( it . getter , Ġit . setter ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. filter NotNull () ĊĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . has Jvm Synt hetic () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . as Java ( d ri . class Names Ġ?: Ġname ) Ġ}, ĊĠĠĠ Ġproperties Ġ= Ġempty List (), ĊĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ}, Ġ// ĠTODO : Ġpublic Ġstatic Ġfinal Ġclass ĠDefault Imp ls Ġwith Ġimp ls Ġfor Ġmethods ĊĠĠĠ Ġgener ics Ġ= Ġgener ics . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġsup ert ypes Ġ= Ġsup ert ypes . map Values Ġ{ Ġit . value . map Ġ{ Ġit . as Java () Ġ} Ġ} Ċ ) Ċ Ċ internal Ġfun ĠD Annotation . as Java (): ĠD Annotation Ġ= Ġcopy ( ĊĠĠĠ Ġproperties Ġ= Ġproperties . map Ġ{ Ġit . as Java () Ġ}, ĊĠĠĠ Ġconstructors Ġ= Ġempty List (), ĊĠĠĠ Ġclass likes Ġ= Ġclass likes . map Ġ{ Ġit . as Java () Ġ} Ċ ) Ġ// ĠTODO Ġinvestigate Ġif Ġannotation Ġclass Ġcan Ġhave Ġmethods Ġand Ġproperties Ġnot Ġfrom Ġconstructor Ċ Ċ internal Ġfun ĠD Parameter . as Java (): ĠD Parameter Ġ= Ġcopy ( ĊĠĠĠ Ġtype Ġ= Ġtype . as Java (), ĊĠĠĠ Ġname Ġ= Ġif Ġ( name . isNull Or Blank ()) Ġ"\ $ self " Ġelse Ġname Ċ ) Ċ Ċ internal Ġfun ĠVisibility . property Visibility As Java (): ĠVisibility Ġ= ĊĠĠĠ Ġif Ġ( this Ġis ĠJava Visibility ) Ġthis ĊĠĠĠ Ġelse ĠJava Visibility . Private Ċ Ċ internal Ġfun ĠString . getAs Primitive (): ĠJ vm Primitive Type ? Ġ= Ġorg . jetbrains . kotlin . builtins . Primitive Type . values () ĊĠĠĠ Ġ. find Ġ{ Ġit . type Fq Name . asString () Ġ== Ġthis Ġ} ĊĠĠĠ Ġ? . let Ġ{ ĠJ vm Primitive Type . get ( it ) Ġ} Ċ Ċ private Ġfun ĠDRI . partial Fq Name () Ġ= ĠpackageName ?. let Ġ{ Ġ"$ it ." Ġ} Ġ+ ĠclassNames Ċ private Ġfun ĠDRI . possibly As Java () Ġ= Ġthis . partial Fq Name (). map To Java ()?. to DR I ( this ) Ġ?: Ġthis Ċ private Ġfun ĠType Constructor . possibly As Java (): ĠType Constructor Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠGeneric Type Constructor Ġ-> Ġcopy ( d ri Ġ= Ġthis . d ri . possibly As Java ()) ĊĠĠĠ Ġis ĠFunctional Type Constructor Ġ-> Ġcopy ( d ri Ġ= Ġthis . d ri . possibly As Java ()) Ċ } Ċ Ċ private Ġfun ĠString . map To Java (): ĠClass Id ? Ġ= ĊĠĠĠ ĠJava To Kotlin Class Map . map Kotlin To Java ( Fq Name ( this ). to Unsafe ()) Ċ Ċ internal Ġfun ĠClass Id . to DR I ( d ri : ĠDRI ?): ĠDRI Ġ= ĠDRI ( ĊĠĠĠ ĠpackageName Ġ= Ġpackage Fq Name . asString (), ĊĠĠĠ ĠclassNames Ġ= ĠclassNames (), ĊĠĠĠ Ġcallable Ġ= Ġd ri ?. callable ,// ?. as Java (), ĠTODO : Ġcheck Ġthis ĊĠĠĠ Ġextra Ġ= Ġnull , ĊĠĠĠ Ġtarget Ġ= ĠPoint ing To Declaration Ċ ) Ċ Ċ internal Ġfun ĠType Constructor With Kind . as Java (): ĠType Constructor With Kind Ġ= ĊĠĠĠ ĠType Constructor With Kind ( ĊĠĠĠĠĠĠĠ Ġtype Constructor Ġ= Ġtype Constructor . possibly As Java (), ĊĠĠĠĠĠĠĠ Ġkind Ġ= Ġkind . as Java () ĊĠĠĠ Ġ) Ċ Ċ internal Ġfun ĠClass Kind . as Java (): ĠClass Kind Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠJava Class Kind Types Ġ-> Ġthis ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . CLASS Ġ-> ĠJava Class Kind Types . CLASS ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . INTERFACE Ġ-> ĠJava Class Kind Types . INTERFACE ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . ENUM _ CLASS Ġ-> ĠJava Class Kind Types . ENUM _ CLASS ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . ENUM _ ENTRY Ġ-> ĠJava Class Kind Types . ENUM _ ENTRY ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . AN NOT ATION _ CLASS Ġ-> ĠJava Class Kind Types . AN NOT ATION _ CLASS ĊĠĠĠĠĠĠĠ ĠKotlin Class Kind Types . OBJECT Ġ-> ĠJava Class Kind Types . CLASS ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Non Ġex cha ust ive Ġmatch Ġwhile Ġtrying Ġto Ġconvert Ġ$ this Ġto ĠJava ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠProperty Container < out ĠDocument able >. merge Additional Modifiers ( second : ĠSource Set Dependent < Set < Extra Modifiers >>) Ġ= ĊĠĠĠ Ġthis [ Additional Modifiers ]?. squ ash ( Additional Modifiers ( second )) Ġ?: ĠAdditional Modifiers ( second ) Ċ Ċ private Ġfun ĠAdditional Modifiers . squ ash ( second : ĠAdditional Modifiers ) Ġ= ĊĠĠĠ ĠAdditional Modifiers ( content Ġ+ Ġsecond . content ) Ċ Ċ internal Ġfun ĠClass Id . class Names (): ĠString Ġ= ĊĠĠĠ Ġshort ClassName . identifier Ġ+ Ġ( outer Class Id ?. class Names ()?. let Ġ{ Ġ".$ it " Ġ} Ġ?: Ġ"") Ċ