package Ġcom . pe st php . pe st Ċ Ċ import Ġcom . intellij . openapi . util . Key Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġcom . intellij . psi . util . Cached Value Ċ import Ġcom . intellij . psi . util . Cached Value Provider Ċ import Ġcom . intellij . psi . util . Cached Values Manager Ċ import Ġcom . intellij . psi . util . Psi Tree Util Ċ import Ġcom . jetbrains . php . lang . psi . elements . Assignment Expression Ċ import Ġcom . jetbrains . php . lang . psi . elements . Class Constant Reference Ċ import Ġcom . jetbrains . php . lang . psi . elements . Class Reference Ċ import Ġcom . jetbrains . php . lang . psi . elements . Field Reference Ċ import Ġcom . jetbrains . php . lang . psi . elements . Function Ċ import Ġcom . jetbrains . php . lang . psi . elements . Function Reference Ċ import Ġcom . jetbrains . php . lang . psi . elements . Parameter List Ċ import Ġcom . jetbrains . php . lang . psi . elements . Statement Ċ import Ġcom . jetbrains . php . lang . psi . elements . Variable Ċ import Ġcom . jetbrains . php . lang . psi . elements . impl . Function Reference Impl Ċ import Ġcom . jetbrains . php . lang . psi . resolve . types . Php Type Ċ Ċ inline Ġfun ĠPsi Element ?. is This Variable In P est ( condition : Ġ( Function Reference Impl ) Ġ-> ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ(( this Ġas ? ĠVariable )?. name Ġ!= Ġ" this ") Ġreturn Ġfalse ĊĊĠĠĠ Ġval Ġclosure Ġ= ĠPsi Tree Util . getParent OfType ( this , ĠFunction :: class . java ) ĊĊĠĠĠ Ġif Ġ( closure Ġ== Ġnull Ġ|| Ġ! closure . is Closure ) Ġreturn Ġfalse ĊĊĠĠĠ Ġval Ġparameter List Ġ= Ġclosure . parent ?. parent Ġas ? ĠParameter List Ġ?: Ġreturn Ġfalse ĊĊĠĠĠ Ġif Ġ( parameter List . parent Ġ! is ĠFunction Reference Impl ) Ġreturn Ġfalse ĊĊĠĠĠ Ġreturn Ġcondition ( parameter List . parent Ġas ĠFunction Reference Impl ) Ċ } Ċ Ċ fun ĠPsi File . getAll Before This Assignments (): ĠList < Assignment Expression > Ġ{ ĊĠĠĠ Ġreturn Ġthis . firstChild . children ĊĠĠĠĠĠĠĠ Ġ. filter Is Instance < Statement >() ĊĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit . firstChild Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Is Instance < Function Reference Impl >() ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . is P est Before Function () Ġ} ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . get This Statements () Ġ} Ċ } Ċ Ċ private Ġval Ġcache Key Ġ= ĠKey < Cached Value < List < Assignment Expression >> >(" com . pe st php . pe st _ assignments ") Ċ private Ġfun ĠFunction Reference Impl . get This Statements (): ĠList < Assignment Expression > Ġ{ ĊĠĠĠ Ġreturn ĠCached Values Manager . get Cached Value ( this , Ġcache Key ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠPsi Tree Util . find Children OfType ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . parameter List ?. getParameter ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssignment Expression :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ(( it . variable Ġas ? ĠField Reference )?. class Reference Ġas ? ĠVariable )?. name Ġ== Ġ" this " Ġ} ĊĊĠĠĠĠĠĠĠ ĠCached Value Provider . Result . create ( result , Ġthis ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFunction Reference . get Uses Php Type (): ĠPhp Type ? Ġ{ ĊĠĠĠ Ġparameters . map NotNull Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclass Ref Ġ= Ġit Ġas ? ĠClass Constant Reference Ġ?: Ġreturn @ map NotNull Ġnull ĊĊĠĠĠĠĠĠĠ Ġif Ġ( class Ref . name Ġ!= Ġ" class ") Ġreturn @ map NotNull Ġnull ĊĊĠĠĠĠĠĠĠ Ġ( class Ref . class Reference Ġas ? ĠClass Reference )?. fq n ĊĠĠĠ Ġ}. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . isEmpty ()) Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= ĠPhp Type () ĊĊĠĠĠĠĠĠĠ Ġthis . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ } Ċ