package Ġcom . github . bj ans en . intellij . pe bble . lang Ċ Ċ import Ġcom . github . bj ans en . intellij . pe bble . psi . P eb ble ArgumentList Ċ import Ġcom . github . bj ans en . intellij . pe bble . psi . P eb ble Identifier Ċ import Ġcom . github . bj ans en . intellij . pe bble . psi . P eb ble Parser Definition . Companion . rules Ċ import Ġcom . github . bj ans en . intellij . pe bble . psi . P eb ble Parser Definition . Companion . tokens Ċ import Ġcom . github . bj ans en . pe bble . parser . P eb ble Lexer Ċ import Ġcom . github . bj ans en . pe bble . parser . P eb ble Parser Ċ import Ġcom . intellij . code Insight . hint . api . impl s . Method Parameter Info Handler Ċ import Ġcom . intellij . code Insight . lookup . Lookup Element Ċ import Ġcom . intellij . lang . parameter Info .* Ċ import Ġcom . intellij . lang . parameter Info . Parameter Info Utils . find Parent OfType Ċ import Ġcom . intellij . lang . parameter Info . Parameter Info Utils . getCurrent Parameter Index Ċ import Ġcom . intellij . psi .* Ċ import Ġcom . intellij . psi . tree . I ElementType Ċ import Ġorg . antlr . intellij . adapt or . psi . ANT L RP si Node Ċ Ċ class ĠP eb ble Parameter Info Handler Ġ: ĠParameter Info Handler With Tab Action Support < P eb ble ArgumentList , ĠPsi Element , ĠPsi Element > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Arg List Stop Search Classes (): ĠMutable Set < out ĠClass < Any >> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġmutable Set Of () ĊĊĠĠĠ Ġoverride Ġfun Ġget ArgumentList Class () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠP eb ble ArgumentList :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġget ArgumentList Allowed Parent Classes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġmutable Set Of ( ANT L RP si Node :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Actual Parameters R Brace Type (): ĠI ElementType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtokens [ P eb ble Lexer . R BRACE ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Actual Parameter Delimiter Type (): ĠI ElementType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtokens [ P eb ble Lexer . COMMA ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Actual Parameters ( o : ĠP eb ble ArgumentList ): ĠArray < Psi Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġo . children . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . node . elementType Ġ== Ġrules [ P eb ble Parser . RULE _ expression ] ĊĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Parameter Info ( args : ĠP eb ble ArgumentList , Ġcontext : ĠUpdate Parameter Info Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= ĠgetCurrent Parameter Index ( args . node , Ġcontext . offset , Ġtokens [ P eb ble Lexer . COMMA ]) ĊĠĠĠĠĠĠĠ Ġcontext . setCurrent Parameter ( index ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġcontext . highlighted Parameter Ġ= Ġcontext . objects To View . first Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠPsi Method ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . parameter List . parameters Count Ġ>= Ġindex Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate UI ( p : ĠPsi Element ?, Ġcontext : ĠParameter Info UI Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Presentation ( p , Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Presentation ( p : ĠPsi Element ?, Ġcontext : ĠParameter Info UI Context ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( p Ġis ĠPsi Method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMethod Parameter Info Handler . update Method Presentation ( p , ĠPsi Subst it utor . EMPTY , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Element For Updating Parameter Info ( context : ĠUpdate Parameter Info Context ): ĠP eb ble ArgumentList ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfind Parent OfType ( context . file , Ġcontext . offset , ĠP eb ble ArgumentList :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Parameter Close Chars (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠParameter Info Utils . DEFAULT _ PARAMETER _ CLOSE _ CHARS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Element For Parameter Info ( context : ĠCreate Parameter Info Context ): ĠP eb ble ArgumentList ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarg List Ġ= Ġfind Parent OfType ( context . file , Ġcontext . offset , ĠP eb ble ArgumentList :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( arg List Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġidentifier Ġ= Ġarg List . parent . firstChild ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( identifier Ġis ĠP eb ble Identifier ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . items To Show Ġ= Ġidentifier . references . flatMap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( it Ġas ĠPsi Poly Variant Reference ). multi Resolve ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Resolve Result :: getElement ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarg List ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Parameters For Documentation ( p : ĠPsi Element ?, Ġcontext : ĠParameter Info Context ?): ĠArray < Any >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtracks Parameter Index () Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġshow Parameter Info ( element : ĠP eb ble ArgumentList , Ġcontext : ĠCreate Parameter Info Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . show Hint ( element , Ġelement . text Range . start Offset , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Parameters For Lookup ( item : ĠLookup Element ?, Ġcontext : ĠParameter Info Context ?): ĠArray < out ĠAny >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcould Show In Lookup () Ġ= Ġtrue Ċ } Ċ