/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 Ġ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 . ir . backend . js . lower . serialization . metadata Ċ Ċ import Ġorg . jetbrains . kotlin . builtins . Kotlin Built Ins Ċ import Ġorg . jetbrains . kotlin . descriptors . Callable Member Descriptor Ċ import Ġorg . jetbrains . kotlin . descriptors . Classifier Descriptor WithType Parameters Ċ import Ġorg . jetbrains . kotlin . name . Class Id Ċ import Ġorg . jetbrains . kotlin . resolve . Descriptor Utils Ċ import Ġorg . jetbrains . kotlin . resolve . descriptor Util . class Id Ċ import Ġorg . jetbrains . kotlin . resolve . descriptor Util . getAll Super Class ifiers Ċ import Ġorg . jetbrains . kotlin . serialization . String Table Impl Ċ Ċ class ĠJs K lib Metadata String Table Ġ: ĠString Table Impl () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Local Class Id Replacement ( descriptor : ĠClass ifier Descriptor WithType Parameters ): ĠClass Id ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( descriptor . containing Declaration Ġis ĠCallable Member Descriptor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠsuperClass ifiers Ġ= Ġdescriptor . getAll Super Class ifiers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit Ġas ĠClass ifier Descriptor WithType Parameters Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ!= Ġdescriptor Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( super Class ifiers . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsuperClass ifiers [ 0 ]. class Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠsuperClass Ġ= ĠsuperClass ifiers . find Ġ{ Ġ! Descriptor Utils . is Interface ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsuperClass ?. class Id Ġ?: ĠClass Id . top Level ( Kotlin Built Ins . FQ _ NAMES . any . to Safe ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . getLocal Class Id Replacement ( descriptor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ