/* Ċ Ġ* Ġ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 Ġfile . Ċ Ġ*/ Ċ package Ġkotlinx . c interop Ċ Ċ import Ġkotlin . native . internal . Export For Cpp Runtime Ċ Ċ public Ġclass ĠForeign Exception Ġinternal Ġconstructor ( val Ġnative Exception : ĠAny ?): ĠException () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġmessage : ĠString Ġ= Ġnative Exception ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin _ Obj C Export _ Exception Details ( native Exception ) ĊĠĠĠ Ġ} ?: Ġ"" ĊĊĠĠĠ Ġ// ĠCurrent Ġimplementation Ġexpects ĠNS Exception Ġtype Ġonly , Ġwhich Ġis Ġens ured Ġby ĠCode Generator . ĊĠĠĠ Ġ@ Symbol Name (" Kotlin _ Obj C Export _ Exception Details ") ĊĠĠĠ Ġprivate Ġexternal Ġfun Ġkotlin _ Obj C Export _ Exception Details ( native Exception : ĠAny ): ĠString ? Ċ } Ċ Ċ @ Export For Cpp Runtime Ċ internal Ġfun ĠCreate Foreign Exception ( payload : ĠNative Ptr ): ĠThrowable ĊĠĠĠĠĠĠĠ Ġ= ĠForeign Exception ( interpret Obj CP o inter OrNull < Any ? >( payload )) Ċ