/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 Ġ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 . backend . kon an . objc export Ċ Ċ import Ġorg . jetbrains . kotlin . descriptors . Class Descriptor Ċ import Ġorg . jetbrains . kotlin . descriptors . Function Descriptor Ċ Ċ class ĠObj C Export Translator Mobile Ġinternal Ġconstructor ( private Ġval Ġdelegate : ĠObj C Export Translator Impl ) Ġ: ĠObj C Export Translator Ġby Ġdelegate Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( nam er : ĠObj C Export N amer , Ġconfiguration : ĠObj C Export Lazy . Configuration ): ĠObj C Export Translator Mobile Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmapper Ġ= ĠObj C Export Mapper ( local Ġ= Ġtrue , Ġunit Suspend Function Export Ġ= Ġconfiguration . unit Suspend Function Export ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠObj C Export Translator Mobile ( Obj C Export Translator Impl ( null , Ġmapper , Ġn amer , ĠObj C Export Problem Collector . SIL ENT , Ġconfiguration . objc Gener ics )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtranslate Base Function ( descriptor : ĠFunction Descriptor ): ĠObj C Method Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclass Descriptor Ġ= Ġdescriptor . containing Declaration Ġas ? ĠClass Descriptor ĊĠĠĠĠĠĠĠ Ġval Ġscope Ġ= Ġclass Descriptor ?. let Ġ{ Ġdelegate . create Generic Export Scope ( it ) Ġ} Ġ?: ĠObj C None Export Scope ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate . build Method ( descriptor , Ġdescriptor , Ġscope ) ĊĠĠĠ Ġ} Ċ }