/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . Ġ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 . fir . resolve . impl Ċ Ċ import Ġorg . jetbrains . kotlin . fir . resolve . F ir Symbol Provider Ċ import Ġorg . jetbrains . kotlin . fir . symbols . Callable Id Ċ import Ġorg . jetbrains . kotlin . fir . symbols . Con e Callable Symbol Ċ import Ġorg . jetbrains . kotlin . fir . symbols . Con e Class Like Symbol Ċ import Ġorg . jetbrains . kotlin . name . Class Id Ċ import Ġorg . jetbrains . kotlin . name . Fq Name Ċ import Ġorg . jetbrains . kotlin . utils . addTo Std lib . first NotNull Result Ċ Ċ class ĠF ir Composite Symbol Provider ( val Ġproviders : ĠList < F ir Symbol Provider >) Ġ: ĠF ir Symbol Provider Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Callable Symbols ( callable Id : ĠCallable Id ): ĠList < Con e Callable Symbol > Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( provider Ġin Ġproviders ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsymbols Ġ= Ġprovider . get Callable Symbols ( callable Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( symbols . isNotEmpty ()) Ġreturn Ġsymbols ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Package ( fq Name : ĠF q Name ): ĠF q Name ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġproviders . first NotNull Result Ġ{ Ġit . get Package ( fq Name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetClass Like Symbol By Fq Name ( class Id : ĠClass Id ): ĠC one Class Like Symbol ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġproviders . first NotNull Result Ġ{ Ġit . getClass Like Symbol By Fq Name ( class Id ) Ġ} ĊĠĠĠ Ġ} Ċ }