package Ġdev . a od don . connector . codegen . util Ċ Ċ import Ġcom . squareup . kotlin po et . ClassName Ċ import Ġcom . squareup . kotlin po et . Parameterized TypeName Ċ import Ġcom . squareup . kotlin po et . TypeName Ċ Ċ internal Ġfun ĠType Name . className OrThrow (): ĠClass Name Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠ Ġis ĠClass Name Ġ-> Ġthis ĊĠ Ġis ĠParameter ized TypeName Ġ-> Ġraw Type ĊĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Can 't Ġget Ġclass Ġname Ġof Ġ$ this ") Ċ } Ċ Ċ internal Ġfun ĠType Name . className OrNull (): ĠClass Name ? Ġ= Ġtry Ġ{ ĊĠ ĠclassName OrThrow () Ċ } Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠ Ġnull Ċ } Ċ Ċ internal Ġfun ĠType Name . non Null (): ĠType Name Ġ= Ġif Ġ( is Nullable ) Ġcopy ( nullable Ġ= Ġfalse ) Ġelse Ġthis Ċ