package Ġorg . jetbrains . kotlin . tools . project Wizard . ir . build system . gradle Ċ Ċ import Ġorg . jetbrains . kotlin . tools . project Wizard . ir . build system .* Ċ import Ġorg . jetbrains . kotlin . tools . project Wizard . plugins . printer . Build File Printer Ċ import Ġorg . jetbrains . kotlin . tools . project Wizard . plugins . printer . Gradle Printer Ċ Ċ interface ĠGradle IR Ġ: ĠBuild System IR Ġ{ ĊĠĠĠ Ġfun ĠGradle Printer . render Gradle () ĊĊĠĠĠ Ġoverride Ġfun ĠBuild File Printer . render () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠGradle Printer ) Ġrender Gradle () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ data Ġclass ĠRaw Gradle IR ( ĊĠĠĠ Ġval Ġrenderer : ĠGradle Printer . () Ġ-> ĠUnit Ċ ) Ġ: ĠGradle IR , ĠFree IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ= Ġrenderer () Ċ } Ċ Ċ data Ġclass ĠCreate Gradle Value IR ( val Ġname : ĠString , Ġval Ġbody : ĠGradle IR ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( dsl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . K OT LIN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" val Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Ġ= Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . render ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . GRO OV Y Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" def Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Ġ= Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . render ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ data Ġclass ĠGradle Call Ir ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġparameters : ĠList < Build System IR > Ġ= Ġempty List () Ċ ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġcall ( name , Ġforce Br ackets Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . list Ġ{ Ġit . render ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle New Instance Call ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġparameters : ĠList < Build System IR > Ġ= Ġempty List () Ċ ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dsl Ġ== ĠGradle Printer . Gradle Dsl . GRO OV Y ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+" new Ġ" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcall ( name , Ġforce Br ackets Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . list Ġ{ Ġit . render ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊĊ Ċ data Ġclass ĠGradle Section IR ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġbody : ĠBody IR Ċ ) Ġ: ĠGradle IR , ĠFree IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ+ name ĊĠĠĠĠĠĠĠ Ġ+" Ġ" ĊĠĠĠĠĠĠĠ Ġbody . render ( this ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle Assignment IR ( ĊĠĠĠ Ġval Ġtarget : ĠString , ĊĠĠĠ Ġval Ġassign ee : ĠBuild System IR Ċ ) Ġ: ĠGradle IR , ĠFree IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ+ "$ target Ġ= Ġ" ĊĠĠĠĠĠĠĠ Ġassign ee . render ( this ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle String Const IR ( ĊĠĠĠ Ġval Ġtext : ĠString Ċ ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ+ text . quot ified ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠCompilation Access Ir ( ĊĠĠĠ Ġval Ġtarget Name : ĠString , ĊĠĠĠ Ġval Ġcompilation Name : ĠString , ĊĠĠĠ Ġval Ġproperty : ĠString ? Ċ ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( dsl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . K OT LIN Ġ-> Ġ+" kotlin .$ target Name (). comp il ations [\" $ compilation Name \"] " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . GRO OV Y Ġ-> Ġ+" kotlin .$ target Name (). comp il ations .$ compilation Name " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġproperty ?. let Ġ{ Ġ+ ".$ it " Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle Dynamic Property Access IR ( val Ġqualifier : ĠBuild System IR , Ġval ĠpropertyName : ĠString ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġqualifier . render ( this ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( dsl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . K OT LIN Ġ-> Ġ+" [ ${ propertyName . quot ified }] " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradle Printer . Gradle Dsl . GRO OV Y Ġ-> Ġ+ ".$ propertyName " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle Property Access IR ( val ĠpropertyName : ĠString ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ+ propertyName ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠGradle Import IR ( val Ġimport : ĠString ) Ġ: ĠGradle IR Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠGradle Printer . render Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġ+" import Ġ" ĊĠĠĠĠĠĠĠ Ġ+ import ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠBuild Script IR Ġ: ĠBuild System IR Ċ Ċ data Ġclass ĠBuild Script Dependency IR ( val Ġdependency IR : ĠGradle IR ) Ġ: ĠBuild Script IR , ĠBuild System IR Ġby Ġdependency IR Ċ data Ġclass ĠBuild Script Repository IR ( val Ġrepository IR : ĠRepository IR ) Ġ: ĠBuild Script IR , ĠBuild System IR Ġby Ġrepository IR