package Ġl gp . core . program . registers Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġcollection Ġof Ġ[ Argument ] s . Ċ Ġ* Ċ Ġ* ĠThe Ġsole Ġpurpose Ġof Ġthis Ġwrapper Ġclass Ġis Ġto Ġmake Ġthe Ġsyntax Ċ Ġ* Ġof Ġfunctions Ġfor Ġoperations Ġa Ġbit Ġcleaner . ĠFor Ġexample , Ġwe Ġcan Ġwrite : Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* Ġ// ĠA Ġsimple Ġcos ine Ġfunction Ġdefinition Ċ Ġ* Ġval Ġcos : Ġ( Arguments < Double >) Ġ-> ĠDouble Ġ= Ġ{ Ġargs Ġ-> ĠMath . cos ( args . get ( 0 )) Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* ĠInstead Ġof : Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* Ġ// ĠA Ġverbose Ġcos ine Ġfunction Ġdefinition Ċ Ġ* Ġval Ġcos : Ġ( List < Argument < Double >>) Ġ-> ĠDouble Ġ= Ġ{ Ġargs Ġ-> ĠMath . cos ( args . get ( 0 )) Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param ĠT ĠThe Ġtype Ġof Ġthe Ġarguments . Ċ Ġ* Ġ@ property Ġarguments ĠA Ġcollection Ġof Ġ[ Argument ] s Ġto Ġwrap . Ċ Ġ*/ Ċ class ĠArguments < T >( val Ġarguments : ĠList < Argument < T >>) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHow Ġmany Ġarguments Ġthere Ġare . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsize (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . arguments . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġvalue Ġof Ġan Ġargument Ġat Ġthe Ġposition Ġgiven Ġby Ġ[ index ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġindex ĠThe Ġindex Ġof Ġan Ġargument Ġvalue Ġto Ġfetch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIndex OutOfBoundsException ĠWhen Ġthe Ġindex Ġis Ġnot Ġin Ġthe Ġbounds Ġof Ġthe Ġargument Ġcollection . ĊĠĠĠĠ Ġ* Ġ@ returns ĠThe Ġvalue Ġof Ġthe Ġargument Ġat Ġ[ index ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget ( index : ĠInt ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . arguments [ index ]. value ĊĠĠĠ Ġ} Ċ }