package Ġorg . lex em . ang mar . parser . functional . expressions . modifiers Ċ Ċ import Ġcom . google . gson .* Ċ import Ġorg . lex em . ang mar .* Ċ import Ġorg . lex em . ang mar . analyzer . nodes . functional . expressions . modifiers .* Ċ import Ġorg . lex em . ang mar . config .* Ċ import Ġorg . lex em . ang mar . errors .* Ċ import Ġorg . lex em . ang mar . parser .* Ċ import Ġorg . lex em . ang mar . parser . commons .* Ċ import Ġorg . lex em . ang mar . parser . functional . expressions .* ĊĊ Ċ /** Ċ Ġ* ĠParser Ġfor Ġnamed Ġarguments Ġof Ġfunction Ġcalls . Ċ Ġ*/ Ċ internal Ġclass ĠFunction Call Named Argument Node Ġprivate Ġconstructor ( parser : ĠLex em Parser , Ġparent : ĠParser Node , ĊĠĠĠĠĠĠĠ Ġparent Signal : ĠInt ) Ġ: ĠParser Node ( parser , Ġparent , Ġparent Signal ) Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġidentifier : ĠParser Node ĊĠĠĠ Ġlateinit Ġvar Ġexpression : ĠParser Node ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= ĠStringBuilder (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġappend ( identifier ) ĊĠĠĠĠĠĠĠ Ġappend ( relational Token ) ĊĠĠĠĠĠĠĠ Ġappend ( expression ) ĊĠĠĠ Ġ}. toString () ĊĊĠĠĠ Ġoverride Ġfun Ġto Tree (): ĠJsonObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsuper . to Tree () ĊĊĠĠĠĠĠĠĠ Ġresult . add (" identifier ", Ġidentifier . to Tree ()) ĊĠĠĠĠĠĠĠ Ġresult . add (" expression ", Ġexpression . to Tree ()) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġanalyze ( analyzer : ĠLex em Analyzer , Ġsignal : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Call Named Argument Analyzer . state Machine ( analyzer , Ġsignal , Ġthis ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġrel ational Token Ġ= ĠGlobal Common s . relational Token ĊĊĠĠĠĠĠĠĠ Ġ// ĠMETHO DS Ġ------------------------------------------------------------ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠParses Ġa Ġnamed Ġargument Ġof Ġa Ġfunction Ġcall . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġparse ( parser : ĠLex em Parser , Ġparent : ĠParser Node , Ġparent Signal : ĠInt ): ĠFunction Call Named Argument Node ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparser . from Buffer ( parser . reader . current Position (), ĠFunction Call Named Argument Node :: class . java )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . parent Ġ= Ġparent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . parent Signal Ġ= Ġparent Signal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ parse Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinit Cursor Ġ= Ġparser . reader . save Cursor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠFunction Call Named Argument Node ( parser , Ġparent , Ġparent Signal ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . identifier Ġ= ĠCommons . parse Dynamic Identifier ( parser , Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Call Named Argument Analyzer . signal End Identifier ) Ġ?: Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWh itespace Node . parse ( parser ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! parser . read Text ( relational Token )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Cursor . restore () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠWh itespace Node . parse ( parser ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . expression Ġ= ĠExpress ions Common s . parse Expression ( parser , Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Call Named Argument Analyzer . signal End Expression ) Ġ?: Ġthrow ĠAng mar Parser Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAng mar Parser Exception Type . Function Call Middle Argument Without Expression After Relational Token , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" An Ġexpression Ġwas Ġexpected Ġafter Ġthe Ġrel ational Ġtoken Ġ'$ relational Token '. ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfull Text Ġ= Ġparser . reader . read All Text () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Source Code ( full Text , Ġparser . reader . getSource ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠConst s . Logger . code Title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhighlight Section ( init Cursor . position (), Ġparser . reader . current Position () Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Source Code ( full Text , Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠConst s . Logger . hint Title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhighlight Cursor At ( parser . reader . current Position ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Try Ġadding Ġan Ġexpression Ġhere " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparser . finalize Node ( result , Ġinit Cursor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ