package Ġcom . d inh hu y 2 5 8 . v intellij . idea Ċ Ċ import Ġcom . d inh hu y 2 5 8 . v intellij . exceptions . VI Exception Ċ import Ġcom . d inh hu y 2 5 8 . v intellij . utils . Path Utils Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . project . Project Manager Ċ import Ġcom . intellij . openapi . util . Ref Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . openapi . vfs . Local FileSystem Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . intellij . openapi . vfs . Virtual FileManager Ċ import Ġcom . intellij . psi . Psi Class Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġcom . intellij . psi . Psi Method Ċ import Ġcom . intellij . psi . impl . source . Psi Java File Impl Ċ import Ġjava . io . File Ċ import Ġorg . jetbrains . kotlin . as Java . get Represent ative Light Method Ċ import Ġorg . jetbrains . kotlin . as Java . to Light Class With Builtin Mapping Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . find Package Ċ import Ġorg . jetbrains . kotlin . idea . cache s . resolve . util . get Java Class Descriptor Ċ import Ġorg . jetbrains . kotlin . idea . core . util . to Psi File Ċ import Ġorg . jetbrains . kotlin . idea . refactor ing . fq Name . get Kotlin Fq Name Ċ import Ġorg . jetbrains . kotlin . psi . Kt Class Or Object Ċ import Ġorg . jetbrains . kotlin . psi . Kt File Ċ import Ġorg . jetbrains . kotlin . psi . Kt Function Ċ Ċ class ĠIde a Utils Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Project (): ĠProject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprojects Ġ= ĠProject Manager . getInstance (). open Projects ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( projects . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠVI Exception (" Project Ġnot Ġfound . ĠPlease Ġopen Ġa Ġproject Ġon Ġint ellij .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprojects [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġfind Package For Psi Class ( psi Class : ĠPsi Class ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpsi Class . get Java Class Descriptor ()?. find Package ()?. fq Name ?. asString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Virtual File ( fileName : ĠString ): ĠVirtual File Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Path Utils . is V im Jar FilePath ( fileName )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVirtual FileManager . getInstance (). refresh And Find File By Url ( Path Utils . toInt ellij Jar FilePath ( fileName )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠVI Exception (" Virtual Ġfile Ġnot Ġfound : Ġ$ fileName .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapplication Ġ= ĠApplication Manager . getApplication () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( File Util . to System Dependent Name ( fileName )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠVI Exception (" File Ġnot Ġfound : Ġ$ fileName .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvirtual File Ref Ġ= ĠRef < Virtual File >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . invoke And Wait Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvirtual File Ġ= ĠLocal FileSystem . getInstance (). refresh And Find File By Io File ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠVI Exception (" Virtual Ġfile Ġnot Ġfound : Ġ$ fileName .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvirtual File Ref . set ( virtual File ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvirtual File Ref . get () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Psi File ( fileName : ĠString ): ĠPsi File Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġget Project () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvirtual File Ġ= Ġget Virtual File ( fileName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapplication Ġ= ĠApplication Manager . getApplication () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpsi File Ref Ġ= ĠRef < Psi File >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . run Read Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi File Ref . set ( virtual File . to Psi File ( project )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpsi File Ref . get () Ġ?: Ġthrow ĠVI Exception (" Cannot Ġfind Ġthe ĠPsi File Ġfor Ġ$ fileName .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Psi Class ( psi Element : ĠPsi Element ): ĠPsi Class ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( psi Element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPsi Class Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Element ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠK t Class Or Object Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Element . to Light Class With Builtin Mapping () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Psi Method ( psi Element : ĠPsi Element ): ĠPsi Method ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( psi Element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠK t Function Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Element . get Represent ative Light Method () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPsi Method Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi Element ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget ClassName ( psi File : ĠPsi File ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( psi File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠK t File Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi File . classes [ 0 ]. get Kotlin Fq Name ()?. asString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPsi Java File Impl Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpsi File . classes [ 0 ]. get Kotlin Fq Name ()?. asString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ