Ċ /* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* Ġ ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// aws . amazon . com / apache 2 . 0 / Ċ Ġ* Ċ Ġ* Ġ Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ċ Ġ* Ġ Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . part i ql . lang . ast Ċ Ċ import Ġcom . amazon . ion .* Ċ import Ġorg . part i ql . lang . ast . Set Quant ifier .* Ċ import Ġorg . part i ql . lang . errors .* Ċ Ċ fun ĠProperty Value Map . add Source Location ( metas : ĠMeta Container ): ĠProperty Value Map Ġ{ ĊĠĠĠ Ġ( metas . find ( Source Location Meta . TAG ) Ġas ? ĠSource Location Meta )?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġthis [ Property . LINE _ NUMBER ] Ġ= Ġit . lineNum ĊĠĠĠĠĠĠĠ Ġthis [ Property . COLUMN _ NUMBER ] Ġ= Ġit . char Offset ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ /** Ċ Ġ* ĠCreates Ġan Ġinstance Ġof Ġ[ Call Agg ] Ġwhich Ġis Ġintended Ġto Ġbe Ġused Ġto Ġrepresent Ġ` COUNT (* )` Ġwhen Ġit Ġis Ċ Ġ* Ġused Ġin Ġa Ġselect Ġlist . Ċ Ġ*/ Ċ fun Ġcreate Count Star ( ion : ĠIon System , Ġmet as : ĠMeta Container ): ĠCall Agg Ġ{ ĊĠĠĠ Ġ// ĠThe Ġ[ Variable Reference ] Ġand Ġ[ Literal ] Ġbelow Ġshould Ġonly Ġget Ġthe Ġ[ Source Location Meta ] Ġif Ġpresent , ĊĠĠĠ Ġ// Ġnot Ġany Ġother Ġmet as . ĊĠĠĠ Ġval Ġsrc Location Meta Only Ġ= Ġmet as . find ( Source Location Meta . TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġmeta Container Of ( it ) Ġ} Ġ?: Ġmeta Container Of () ĊĠĠĠĠĊĠĠĠ Ġ// Ġoptimize Ġcount (*) Ġto Ġcount ( 1 ). ĠĊĠĠĠ Ġreturn ĠCall Agg ( ĊĠĠĠĠĠĠĠ Ġfunc Expr Ġ= ĠVariable Reference ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" count ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcase Ġ= ĠCase Sensitivity . INS ENS ITIVE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Qualifier Ġ= ĠScope Qualifier . UN QUAL IFI ED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmet as Ġ= Ġsrc Location Meta Only ), ĊĠĠĠĠĠĠĠ Ġset Quant ifier Ġ= ĠALL , ĊĠĠĠĠĠĠĠ Ġarg Ġ= ĠLiteral ( ion . new Int ( 1 ), Ġsrc Location Meta Only ), ĠĊĠĠĠĠĠĠĠ Ġmet as Ġ= Ġmet as . add ( Is Count Star Meta . instance ) ĊĠĠĠ Ġ) Ċ }