package Ġcom . h end ra angg rian . jav ap o et . dsl Ċ Ċ import Ġcom . h end ra angg rian . jav ap o et . Field Spec Builder Ċ import Ġcom . h end ra angg rian . jav ap o et . Spec Dsl Marker Ċ import Ġcom . h end ra angg rian . jav ap o et . build Field Spec Ċ import Ġcom . h end ra angg rian . jav ap o et . field Spec Of Ċ import Ġcom . squareup . jav ap o et . Field Spec Ċ import Ġcom . squareup . jav ap o et . TypeName Ċ import Ġjava . lang . reflect . Type Ċ import Ġjavax . lang . model . element . Modifier Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** ĠA Ġ[ Field Spec Handler ] Ġis Ġresponsible Ġfor Ġmanaging Ġa Ġset Ġof Ġfield Ġinstances . Ġ*/ Ċ open Ġclass ĠField Spec Handler ( actual List : ĠMutable List < Field Spec >) Ġ: ĠMutable List < Field Spec > Ġby Ġactual List Ġ{ ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ TypeName ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( type : ĠType Name , Ġname : ĠString , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( field Spec Of ( type , Ġname , Ġ* modifiers )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ TypeName ] Ġwith Ġcustom Ġinitialization Ġ[ configuration ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( ĊĠĠĠĠĠĠĠ Ġtype : ĠType Name , ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( build Field Spec ( type , Ġname , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ Type ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( type : ĠType , Ġname : ĠString , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( field Spec Of ( type , Ġname , Ġ* modifiers )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ Type ] Ġwith Ġcustom Ġinitialization Ġ[ configuration ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( ĊĠĠĠĠĠĠĠ Ġtype : ĠType , ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( build Field Spec ( type , Ġname , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ K Class ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( type : ĠK Class <* >, Ġname : ĠString , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( field Spec Of ( type , Ġname , Ġ* modifiers )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ K Class ] Ġwith Ġcustom Ġinitialization Ġ[ configuration ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd ( ĊĠĠĠĠĠĠĠ Ġtype : ĠK Class <* >, ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( build Field Spec ( type , Ġname , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ T ]. Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġadd ( name : ĠString , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( field Spec Of < T >( name , Ġ* modifiers )) ĊĊĠĠĠ Ġ/** ĠAdd Ġfield Ġfrom Ġ[ T ] Ġwith Ġcustom Ġinitialization Ġ[ configuration ]. Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġadd ( ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġno inline Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( build Field Spec < T >( name , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration )) ĊĊĠĠĠ Ġ/** ĠCon ven ient Ġmethod Ġto Ġadd Ġfield Ġwith Ġoperator Ġfunction . Ġ*/ ĊĠĠĠ Ġ@ Suppress (" NOTH ING _ TO _ INLINE ") ĊĠĠĠ Ġinline Ġoperator Ġfun Ġset ( name : ĠString , Ġtype : ĠType Name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġname ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠCon ven ient Ġmethod Ġto Ġadd Ġfield Ġwith Ġoperator Ġfunction . Ġ*/ ĊĠĠĠ Ġ@ Suppress (" NOTH ING _ TO _ INLINE ") ĊĠĠĠ Ġinline Ġoperator Ġfun Ġset ( name : ĠString , Ġtype : ĠType ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġname ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠCon ven ient Ġmethod Ġto Ġadd Ġfield Ġwith Ġoperator Ġfunction . Ġ*/ ĊĠĠĠ Ġ@ Suppress (" NOTH ING _ TO _ INLINE ") ĊĠĠĠ Ġinline Ġoperator Ġfun Ġset ( name : ĠString , Ġtype : ĠK Class <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġname ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** ĠReceiver Ġfor Ġthe Ġ` fields ` Ġblock Ġproviding Ġan Ġextended Ġset Ġof Ġoperators Ġfor Ġthe Ġconfiguration . Ġ*/ Ċ @ Spec Dsl Marker Ċ class ĠField Spec Handler Scope ( actual List : ĠMutable List < Field Spec >) Ġ: ĠField Spec Handler ( actual List ) Ġ{ ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( type : ĠType Name , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġthis , Ġ* modifiers ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( ĊĠĠĠĠĠĠĠ Ġtype : ĠType Name , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( type , Ġthis , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( type : ĠType , Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġthis , Ġ* modifiers ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( ĊĠĠĠĠĠĠĠ Ġtype : ĠType , ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( type , Ġthis , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( type : ĠK Class <* >, Ġvar arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( type , Ġthis , Ġ* modifiers ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( ĊĠĠĠĠĠĠĠ Ġtype : ĠK Class <* >, ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd ( type , Ġthis , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġinline Ġoperator Ġfun Ġ< re ified ĠT > ĠString . invoke ( var arg Ġmodifiers : ĠModifier ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġadd < T >( this , Ġ* modifiers ) ĊĊĠĠĠ Ġ/** Ġ@ see ĠField Spec Handler . add Ġ*/ ĊĠĠĠ Ġinline Ġoperator Ġfun Ġ< re ified ĠT > ĠString . invoke ( ĊĠĠĠĠĠĠĠ Ġvar arg Ġmodifiers : ĠModifier , ĊĠĠĠĠĠĠĠ Ġno inline Ġconfiguration : ĠField Spec Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠBoolean Ġ= Ġadd < T >( this , Ġ* modifiers , Ġconfiguration Ġ= Ġconfiguration ) Ċ } Ċ