package Ġio . un th rott led . n 7 . util Ċ Ċ object ĠLegacy Support Utility Ġ{ ĊĊĠ Ġfun Ġinvoke Class S af ely ( clas Name : ĠString , Ġrun S af ely : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ ĠClass . forName ( clas Name ) ĊĠĠĠĠĠ Ġrun S af ely () Ġ// Ġ: | ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġor Run Legacy ( ĊĠĠĠ Ġcl as Name : ĠString , ĊĠĠĠ Ġrun Current : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġrun Legacy : Ġ() Ġ-> ĠUnit ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ ĠClass . forName ( clas Name ) ĊĠĠĠĠĠ Ġrun Current () Ġ// Ġ: | ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠ Ġrun Legacy () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġ< T > Ġor Get Legacy ( ĊĠĠĠ Ġclazz : ĠString , ĊĠĠĠ Ġrun S af ely : Ġ() Ġ-> ĠT , ĊĠĠĠ Ġor Else Get : Ġ() Ġ-> ĠT ĊĠ Ġ) Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ ĠClass . forName ( clazz ) ĊĠĠĠĠĠ Ġrun S af ely () ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠ Ġor Else Get () ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġ< C , ĠT > Ġinvoke Method S af ely ( ĊĠĠĠ Ġclazz : ĠClass < C >, ĊĠĠĠ Ġmethod : ĠString , ĊĠĠĠ Ġrun S af ely : Ġ() Ġ-> ĠT , ĊĠĠĠ Ġor Else Get : Ġ() Ġ-> ĠT , ĊĠĠĠ Ġvar arg Ġpar ate mers : ĠClass < *> ĊĠ Ġ) Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġclazz . getDeclared Method ( method , Ġ* par ate mers ) ĊĠĠĠĠĠ Ġrun S af ely () ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠ Ġor Else Get () ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġ< C > Ġinvoke Void Method S af ely ( ĊĠĠĠ Ġclazz : ĠClass < C >, ĊĠĠĠ Ġmethod : ĠString , ĊĠĠĠ Ġrun S af ely : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġor Else Get : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġvar arg Ġparameters : ĠClass < *> ĊĠ Ġ) Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġclazz . getDeclared Method ( method , Ġ* parameters ) ĊĠĠĠĠĠ Ġrun S af ely () ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠ Ġor Else Get () ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġ< C , ĠT > Ġuse Field S af ely ( ĊĠĠĠ Ġclazz : ĠClass < C >, ĊĠĠĠ Ġmethod : ĠString , ĊĠĠĠ Ġrun S af ely : Ġ() Ġ-> ĠT , ĊĠĠĠ Ġor Else Get : Ġ() Ġ-> ĠT ĊĠ Ġ) Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġclazz . getDeclared Field ( method ) ĊĠĠĠĠĠ Ġrun S af ely () ĊĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠ Ġor Else Get () ĊĠĠĠ Ġ} Ċ } Ċ