/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . analysis . api . descriptors . references Ċ Ċ import Ġorg . jetbrains . kotlin . analysis . api . Kt Analysis Session Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . Fe 1 0 Analysis Facade . Analysis Mode Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . Kt Fe 1 0 Analysis Session Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . references . base . Cli Kt Fe 1 0 Reference Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . references . base . Kt Fe 1 0 Reference Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . descriptor Based . base . to Kt Callable Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Symbol Ċ import Ġorg . jetbrains . kotlin . idea . references . Kt Invoke Function Reference Ċ import Ġorg . jetbrains . kotlin . psi . Call Ċ import Ġorg . jetbrains . kotlin . psi . Kt Call Expression Ċ import Ġorg . jetbrains . kotlin . psi . Kt Expression Ċ import Ġorg . jetbrains . kotlin . resolve . calls . model . Variable As Function Resolved Call Ċ import Ġorg . jetbrains . kotlin . resolve . calls . util . get Call Ċ import Ġorg . jetbrains . kotlin . resolve . calls . util . get Resolved Call Ċ Ċ abstract Ġclass ĠK t Fe 1 0 Invoke Function Reference ( expression : ĠK t Call Expression ) Ġ: ĠK t Invoke Function Reference ( expression ), ĠK t Fe 1 0 Reference Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠK t Analysis Session . resolve ToS ymbols (): ĠCollection < Kt Symbol > Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( this Ġis ĠK t Fe 1 0 Analysis Session ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbinding Context Ġ= Ġanalysis Context . analyze ( expression , ĠAnalysis Mode . PAR TIAL ) ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġexpression . get Call ( binding Context ) ĊĠĠĠĠĠĠĠ Ġval Ġresolved Call Ġ= Ġcall . get Resolved Call ( binding Context ) ĊĠĠĠĠĠĠĠ Ġval Ġdescriptors Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolved Call Ġis ĠVariable As Function Resolved Call Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of (( resolved Call Ġas ĠVariable As Function Resolved Call ). function Call . result ing Descriptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall Ġ!= Ġnull Ġ&& Ġresolved Call Ġ!= Ġnull Ġ&& Ġcall . call Type Ġ== ĠCall . Call Type . IN VOKE Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( resolved Call . result ing Descriptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdescriptors . map NotNull Ġ{ Ġit . to Kt Callable Symbol ( analysis Context ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġclass ĠCli Kt Fe 1 0 Invoke Function Reference ( ĊĠĠĠ Ġexpression : ĠK t Call Expression Ċ ) Ġ: ĠK t Fe 1 0 Invoke Function Reference ( expression ), ĠCli Kt Fe 1 0 Reference Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdo Rename Implicit Convention al Call ( new Name : ĠString ?): ĠK t Expression Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠNotImplementedError (" Ren aming Ġis Ġnot Ġsupported ") ĊĠĠĠ Ġ} Ċ } Ċ