/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 Ġ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 . ir . backend . js . lower . serialization . ir Ċ Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . Kotlin Export Checker Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . Kotlin M angle Computer Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . M angle Mode Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . descriptor . Descriptor Based Kotlin M ang ler Impl Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . descriptor . Descriptor Export Checker Visitor Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . descriptor . Descriptor M angle Computer Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . ir . Ir Based Kotlin M ang ler Impl Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . ir . Ir Export Checker Visitor Ċ import Ġorg . jetbrains . kotlin . backend . common . serialization . m angle . ir . Ir M angle Computer Ċ import Ġorg . jetbrains . kotlin . descriptors . Declaration Descriptor Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Declaration Ċ Ċ abstract Ġclass ĠAbstract Js M ang ler Ir Ġ: ĠIr Based Kotlin M ang ler Impl () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġexport Checker Ġ= ĠJs Ir Export Checker () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠJs Ir Export Checker Ġ: ĠIr Export Checker Visitor () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠIr Declaration . is Platform Specific Exported () Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠJs Ir M ang ler Computer ( builder : ĠStringBuilder , Ġmode : ĠM angle Mode ) Ġ: ĠIr M angle Computer ( builder , Ġmode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcopy ( new Mode : ĠM angle Mode ): ĠIr M angle Computer Ġ= ĠJs Ir M ang ler Computer ( builder , Ġnew Mode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Export Checker (): ĠKotlin Export Checker < Ir Declaration > Ġ= Ġexport Checker ĊĊĠĠĠ Ġoverride Ġfun Ġget M angle Computer ( mode : ĠM angle Mode ): ĠKotlin M angle Computer < Ir Declaration > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠJs Ir M ang ler Computer ( StringBuilder ( 2 5 6 ), Ġmode ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠJs M ang ler Ir Ġ: ĠAbstract Js M ang ler Ir () Ċ Ċ abstract Ġclass ĠAbstract Js Descriptor M ang ler Ġ: ĠDescriptor Based Kotlin M ang ler Impl () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġexport Checker Ġ= ĠJs Descriptor Export Checker () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠJs Descriptor Export Checker Ġ: ĠDescriptor Export Checker Visitor () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠDeclaration Descriptor . is Platform Specific Exported () Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠJs Descriptor M ang ler Computer ( builder : ĠStringBuilder , Ġmode : ĠM angle Mode ) Ġ: ĊĠĠĠĠĠĠĠ ĠDescriptor M angle Computer ( builder , Ġmode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcopy ( new Mode : ĠM angle Mode ): ĠDescriptor M angle Computer Ġ= ĠJs Descriptor M ang ler Computer ( builder , Ġnew Mode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Export Checker (): ĠKotlin Export Checker < Declaration Descriptor > Ġ= Ġexport Checker ĊĊĠĠĠ Ġoverride Ġfun Ġget M angle Computer ( mode : ĠM angle Mode ): ĠKotlin M angle Computer < Declaration Descriptor > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠJs Descriptor M ang ler Computer ( StringBuilder ( 2 5 6 ), Ġmode ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ object ĠJs M ang ler Desc Ġ: ĠAbstract Js Descriptor M ang ler () Ċ