/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea . highlighter . markers Ċ Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . descriptors . Member Descriptor Ċ import Ġorg . jetbrains . kotlin . idea . cache s . project . implemented Descriptors Ċ import Ġorg . jetbrains . kotlin . idea . cache s . resolve . find Module Descriptor Ċ import Ġorg . jetbrains . kotlin . idea . core . to Descriptor Ċ import Ġorg . jetbrains . kotlin . idea . util . expected Declaration If Any Ċ import Ġorg . jetbrains . kotlin . idea . util . has Declaration Of Ċ import Ġorg . jetbrains . kotlin . psi . Kt Declaration Ċ import Ġjava . awt . event . MouseEvent Ċ Ċ fun Ġget Expected Declaration Tooltip ( declaration : ĠK t Declaration ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġdescriptor Ġ= Ġdeclaration . to Descriptor () Ġas ? ĠMember Descriptor Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġval Ġplatform Module Descriptor Ġ= Ġdeclaration . containing Kt File . find Module Descriptor () ĊĊĠĠĠ Ġval Ġcommon Module Descriptors Ġ= Ġplatform Module Descriptor . implemented Descriptors ĊĠĠĠ Ġif Ġ(! common Module Descriptors . any Ġ{ Ġit . has Declaration Of ( descriptor ) Ġ}) Ġreturn Ġnull ĊĊĠĠĠ Ġreturn Ġ" Has Ġdeclaration Ġin Ġcommon Ġmodule " Ċ } Ċ Ċ fun ĠK t Declaration . all Navig atable Expected Declarations (): ĠList < Kt Declaration > Ġ= ĊĠĠĠ ĠlistOf NotNull ( expected Declaration If Any ()) Ġ+ Ġfind Marker Bound Declarations (). map NotNull Ġ{ Ġit . expected Declaration If Any () Ġ} Ċ Ċ fun ĠK t Declaration . navigate To Expected Title () Ġ= Ġ" Choose Ġexpected Ġfor Ġ$ name " Ċ Ċ fun ĠK t Declaration . navigate To Expected Usage s Title () Ġ= Ġ" Expected Ġfor Ġ$ name " Ċ Ċ fun Ġbuild Navigate To Expected Declarations Popup ( e : ĠMouseEvent ?, Ġelement : ĠPsi Element ?): ĠNavigation Popup Descriptor ? Ġ{ ĊĠĠĠ Ġreturn Ġelement ?. marker Declaration ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnavig atable Expected Declarations Ġ= Ġit . all Navig atable Expected Declarations () ĊĠĠĠĠĠĠĠ Ġif Ġ( navig atable Expected Declarations . isEmpty ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠNavigation Popup Descriptor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavig atable Expected Declarations , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . navigate To Expected Title (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . navigate To Expected Usage s Title (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActual Expected Psi Element Cell Renderer () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }