/* Ċ Ġ* ĠCopyright Ġ 2 0 1 2 - 2 0 1 4 ĠSer ge y ĠIgn at ov Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠJ ake ĠBe cker Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . elixir _ lang . debugger . stack _ frame . value Ċ Ċ import Ġcom . eric sson . otp . erlang .* Ċ import Ġorg . elixir _ lang . debugger . stack _ frame . value . list . Impro per Ċ import Ġorg . elixir _ lang . debugger . stack _ frame . value . list . Pro per Ċ Ċ object ĠFactory Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġcreate ( term : ĠO tp Er lang Object ): ĠPresent able < *> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( term ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Long , Ġis ĠO tp Er lang Double Ġ-> ĠNumeric ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Atom Ġ-> ĠAtom ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Pid Ġ-> ĠP id ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Port Ġ-> ĠPort ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Ref Ġ-> ĠRef ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Tuple Ġ-> ĠTuple ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang String Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Presentation . is Print able ( term )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChar List ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPro per ( O tp Er lang List ( term . stringValue ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang List Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( term . is Pro per ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPro per ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImpro per ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠO tp Er lang Bit str Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Presentation . to Utf 8 String ( term ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBit String ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( term Ġis ĠO tp Er lang Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMap ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPrimitive ( term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ