/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . r . classes . r 6 . context Ċ Ċ 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 Ġorg . jetbrains . r . classes . r 6 . R 6 Class Info Util Ċ import Ġorg . jetbrains . r . psi . api . R Call Expression Ċ import Ġorg . jetbrains . r . psi . api . R Member Expression Ċ import Ġorg . jetbrains . r . psi . api . RP si Element Ċ import Ġorg . jetbrains . r . psi . references . R Search Scope Util Ċ import Ġorg . jetbrains . r . psi . stubs . classes . R 6 ClassName Index Ċ Ċ sealed Ġclass ĠR 6 Set Class Members Context Ġ: ĠR 6 Context Ġ{ ĊĠ Ġoverride Ġval Ġfunction Name Ġ= ĠR 6 Class Info Util . function Set Ċ } Ċ Ċ // ĠMy Class $ set (< caret >) Ċ // ĠMy Class $ set ("< caret >") Ċ data Ġclass ĠR 6 Set Class Members Context Visibility ( override Ġval Ġoriginal Element : ĠRP si Element , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġfunction Call : ĠR Call Expression ) Ġ: ĠR 6 Set Class Members Context () Ċ Ċ // ĠMy Class $ set ( visibility , Ġ< caret >) Ċ // ĠMy Class $ set (" visibility ", Ġ< caret >) Ċ data Ġclass ĠR 6 Set Class Members Context Name ( override Ġval Ġoriginal Element : ĠRP si Element , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġfunction Call : ĠR Call Expression ) Ġ: ĠR 6 Set Class Members Context () Ċ Ċ class ĠR 6 Set Class Members Context Provider Ġ: ĠR 6 Context Provider < R 6 Set Class Members Context >() Ġ{ ĊĠ Ġoverride Ġfun ĠgetContext ( element : ĠRP si Element ): ĠR 6 Set Class Members Context ? Ġ{ ĊĠĠĠ Ġreturn ĠCached Values Manager . get Cached Value ( element ) Ġ{ ĊĠĠĠĠĠ ĠCached Value Provider . Result . create ( getR 6 Context Inner ( element ), Ġelement ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget R 6 Context Inner ( element : ĠRP si Element ): ĠR 6 Set Class Members Context ? Ġ{ ĊĠĠĠ Ġval Ġparent Call Ġ= ĠPsi Tree Util . getParent OfType ( element , ĠR Call Expression :: class . java ) Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġif Ġ(! is From R 6 Library ( parent Call )) Ġreturn Ġnull ĊĠĠĠ Ġif Ġ( is Element N th Argument From R Call Expression ( 0 , Ġelement , Ġparent Call )) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠR 6 Set Class Members Context Visibility ( element , Ġparent Call ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġis Element N th Argument From R Call Expression ( num : ĠInt , Ġelement : ĠRP si Element , Ġr Call Expression : ĠR Call Expression ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġarguments Ġ= Ġr Call Expression . last Child . children ĊĠĠĠ Ġif Ġ( arguments . isNull OrEmpty ()) Ġreturn Ġfalse ĊĊĠĠĠ Ġreturn Ġarguments [ num ] Ġ!= Ġnull Ġ&& Ġarguments [ num ]. text Matches ( element ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġis From R 6 Library ( r Call Expression : ĠR Call Expression ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġmember Expression Ġ= Ġr Call Expression . expression Ġas ? ĠR Member Expression Ġ?: Ġreturn Ġfalse ĊĠĠĠ Ġif Ġ(! member Expression . last Child . text Matches ( R 6 Class Info Util . function Set )) Ġreturn Ġfalse ĊĊĠĠĠ Ġval Ġr 6 Class Identifier Ġ= Ġmember Expression . firstChild ĊĠĠĠ Ġval Ġcached Classes Ġ= ĠR 6 ClassName Index . find Class Infos ( r 6 Class Identifier . text , Ġmember Expression . project , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR Search Scope Util . get Scope ( r Call Expression )) ĊĠĠĠ Ġreturn Ġ(! cached Classes . isNull OrEmpty ()) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( other Ġ== Ġnull Ġ|| Ġother Ġ! is ĠR 6 Context Provider <* >) Ġreturn Ġfalse ĊĠĠĠ Ġreturn Ġthis :: class . java . name Ġ== Ġother :: class . java . name ĊĠ Ġ} Ċ }