// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġorg . jetbrains . plugins . gradle . framework Support . script Ċ Ċ import Ġorg . jetbrains . plugins . gradle . framework Support . script . Script Element . Argument Element Ċ import Ġorg . jetbrains . plugins . gradle . framework Support . script . Script Element . Statement .* Ċ import Ġorg . jetbrains . plugins . gradle . framework Support . script . Script Element . Statement . Expression .* Ċ import Ġorg . jetbrains . plugins . gradle . framework Support . script . Script Tree Builder . Companion . tree Ċ import Ġjava . util . function . Consumer Ċ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" unused ") Ċ abstract Ġclass ĠAbstract Script Element Builder Ġ: ĠScript Element Builder Ġ{ ĊĊĠ Ġoverride Ġfun Ġnew Line () Ġ= ĠNew Line Element ĊĠ Ġoverride Ġfun ĠScript Element ?. ln () Ġ= Ġif Ġ( this Ġ== Ġnull Ġ|| Ġthis Ġis ĠBlock Element Ġ&& ĠisEmpty ()) Ġnull Ġelse Ġnew Line () ĊĊĠ Ġoverride Ġfun Ġstring ( value : ĠString ) Ġ= ĠString Element ( value ) ĊĊĠ Ġoverride Ġfun Ġcode ( text : ĠList < String >) Ġ= ĠCode Element ( text ) ĊĠ Ġoverride Ġfun Ġcode ( var arg Ġtext : ĠString ) Ġ= Ġcode ( text . toList ()) ĊĊĠ Ġoverride Ġfun Ġassign ( name : ĠString , Ġvalue : ĠExpression ) Ġ= ĠAssign Element ( name , Ġvalue ) ĊĠ Ġoverride Ġfun Ġassign ( name : ĠString , Ġvalue : ĠString ) Ġ= Ġassign ( name , Ġstring ( value )) ĊĊĠ Ġoverride Ġfun Ġassign If NotNull ( name : ĠString , Ġvalue : ĠString ?) Ġ= Ġvalue ?. let Ġ{ Ġassign ( name , Ġit ) Ġ} ĊĊĠ Ġoverride Ġfun Ġplus Assign ( name : ĠString , Ġvalue : ĠExpression ) Ġ= ĠPlus Assign Element ( name , Ġvalue ) ĊĠ Ġoverride Ġfun Ġplus Assign ( name : ĠString , Ġvalue : ĠString ) Ġ= Ġplus Assign ( name , Ġstring ( value )) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġarguments : ĠList < Argument Element >) Ġ= ĠCall Element ( name , Ġarguments ) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġarguments : ĠList < Argument Element >, Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġarguments Ġ+ Ġargument ( configure )) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString ) Ġ= Ġcall ( name , Ġempty List ()) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġconfigure : ĠConsumer < Script Tree Builder >) Ġ= Ġcall ( name , Ġconfigure :: accept ) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġempty List (), Ġconfigure ) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠArgument Element ) Ġ= Ġcall ( name , Ġarguments . toList ()) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠArgument Element , Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġarguments . toList (), Ġconfigure ) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠExpression ) Ġ= Ġcall ( name , Ġarguments . map (:: argument )) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠExpression , Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġarguments . map (:: argument ), Ġconfigure ) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠString ) Ġ= Ġcall ( name , Ġarguments . map (:: argument )) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠString , Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġarguments . map (:: argument ), Ġconfigure ) ĊĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠPair < String , ĠString >) Ġ= Ġcall ( name , Ġarguments . map (:: argument )) ĊĠ Ġoverride Ġfun Ġcall ( name : ĠString , Ġvar arg Ġarguments : ĠPair < String , ĠString >, Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġcall ( name , Ġarguments . map (:: argument ), Ġconfigure ) ĊĊĠ Ġoverride Ġfun Ġcall If NotEmpty ( name : ĠString , Ġblock : ĠBlock Element ) Ġ= Ġif Ġ( block . isEmpty ()) Ġnull Ġelse Ġcall ( name , Ġblock ) ĊĠ Ġoverride Ġfun Ġcall If NotEmpty ( name : ĠString , Ġbuilder : ĠScript Tree Builder ) Ġ= Ġcall If NotEmpty ( name , Ġbuilder . generate ()) ĊĠ Ġoverride Ġfun Ġcall If NotEmpty ( name : ĠString , Ġconfigure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= Ġcall If NotEmpty ( name , Ġtree ( configure )) ĊĊĠ Ġoverride Ġfun Ġin fix Call ( left : ĠExpression , Ġname : ĠString , Ġright : ĠExpression ) Ġ= ĠIn fix Call ( left , Ġname , Ġright ) ĊĊĠ Ġoverride Ġfun Ġargument ( name : ĠString ?, Ġvalue : ĠExpression ) Ġ= ĠArgument Element ( name , Ġvalue ) ĊĠ Ġoverride Ġfun Ġargument ( name : ĠString ?, Ġvalue : ĠString ) Ġ= Ġargument ( name , Ġstring ( value )) ĊĠ Ġoverride Ġfun Ġargument ( argument : ĠPair < String , ĠString >) Ġ= Ġargument ( argument . first , Ġargument . second ) ĊĠ Ġoverride Ġfun Ġargument ( value : ĠExpression ) Ġ= Ġargument ( null , Ġvalue ) ĊĠ Ġoverride Ġfun Ġargument ( value : ĠString ) Ġ= Ġargument ( null , Ġvalue ) ĊĠ Ġoverride Ġfun Ġargument ( configure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= Ġargument ( block ( configure )) ĊĊĠ Ġoverride Ġfun Ġblock ( configure : ĠScript Tree Builder . () Ġ-> ĠUnit ) Ġ= Ġtree ( configure ) Ċ }