// Ġ! LANGUAGE : Ġ+ Functional Interface Conversion Ċ Ċ fun Ġinterface ĠGood Ġ{ ĊĠĠĠ Ġfun Ġinvoke () Ċ } Ċ Ċ <! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠFoo 1 Ċ Ċ <! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠFoo 2 Ġ{ Ċ Ċ } Ċ Ċ <! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠFoo 3 Ġ{ ĊĠĠĠ Ġfun Ġfoo () ĊĠĠĠ Ġfun Ġbar () Ċ } Ċ Ċ interface ĠBase With SAM Ġ{ ĊĠĠĠ Ġfun Ġbase () Ċ } Ċ Ċ <! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠFoo 4 Ġ: ĠBase With SAM Ġ{ ĊĠĠĠ Ġfun Ġone More () Ċ } Ċ Ċ fun Ġinterface ĠFoo 4 WithDefault Ġ: ĠBase With SAM Ġ{ ĊĠĠĠ Ġfun Ġone More () Ġ{} Ċ } Ċ Ċ interface ĠBase WithDefault Ġ{ ĊĠĠĠ Ġfun Ġdef () Ġ{} Ċ } Ċ Ċ fun Ġinterface ĠFoo 4 With Base Default Ġ: ĠBase WithDefault Ġ{ ĊĠĠĠ Ġfun Ġone More () Ċ } Ċ Ċ fun Ġinterface ĠGood With Base Ġ: ĠBase With SAM Ċ Ċ <! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠFoo 5 Ġ{ ĊĠĠĠ Ġ<! FUN _ INTERFACE _ CAN NOT _ HAVE _ AB STR ACT _ PROPERTIES !> val <! > Ġprop : ĠInt Ċ } Ċ Ċ fun Ġinterface ĠFoo 6 Ġ{ ĊĠĠĠ Ġfun Ġfoo () ĊĠĠĠ Ġ<! FUN _ INTERFACE _ CAN NOT _ HAVE _ AB STR ACT _ PROPERTIES !> val <! > Ġprop : ĠInt Ċ } Ċ Ċ fun Ġinterface ĠFoo 7 Ġ: ĠBase With SAM Ġ{ ĊĠĠĠ Ġ<! FUN _ INTERFACE _ CAN NOT _ HAVE _ AB STR ACT _ PROPERTIES !> val <! > Ġprop : ĠInt Ċ } Ċ Ċ fun Ġinterface ĠGood With Prop And Base Ġ: ĠBase With SAM Ġ{ ĊĠĠĠ Ġval Ġprop : ĠInt Ġget () Ġ= Ġ 4 2 Ċ } Ċ Ċ fun Ġinterface ĠFoo 8 Ġ{ ĊĠĠĠ Ġfun Ġ<! FUN _ INTERFACE _ AB STR ACT _ METHOD _ WITH _ TYPE _ PARAMETERS ! >< T >< !> Ġinvoke ( x : ĠT ) Ċ } Ċ Ċ fun Ġinterface ĠGood Generic < T > Ġ{ ĊĠĠĠ Ġfun Ġinvoke ( x : ĠT ) Ċ } Ċ Ċ interface ĠBase With Generic Ġ{ ĊĠĠĠ Ġfun Ġ< T > Ġinvoke ( x : ĠT ) Ċ } Ċ Ċ <! FUN _ INTERFACE _ AB STR ACT _ METHOD _ WITH _ TYPE _ PARAMETERS !> fun <! > Ġinterface ĠFoo 9 Ġ: ĠBase With Generic Ċ Ċ fun Ġinterface ĠGood Extension Generic Ġ: ĠGood Generic < String > Ċ Ċ fun Ġinterface ĠGood Suspend Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġinvoke () Ċ } Ċ Ċ class ĠWith Nested Fun < K > Ġ{ ĊĠĠĠ Ġ<! FUN _ INTERFACE _ WRONG _ COUNT _ OF _ AB STR ACT _ MEMBER S !> fun <! > Ġinterface ĠNested Simple ĊĊĠĠĠ Ġfun Ġinterface ĠGood Fun Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinvoke () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinterface ĠNested Fun Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġin ov ke ( element : Ġ<! UN RESOL VED _ REFERENCE !> K <! >) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > Ġlocal () Ġ{ ĊĠĠĠ Ġ<! LOCAL _ INTERFACE _ NOT _ ALLOWED !> fun Ġinterface ĠLocal Fun <! > Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinvoke ( element : ĠT ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġinterface ĠWith DefaultValue Ġ{ ĊĠĠĠ Ġfun Ġinvoke ( <! FUN _ INTERFACE _ AB STR ACT _ METHOD _ WITH _ DEFAULT _ VALUE !> s : ĠString Ġ= Ġ"" <! >) Ċ } Ċ Ċ interface ĠBase With DefaultValue Ġ{ ĊĠĠĠ Ġfun Ġinvoke ( s : ĠString Ġ= Ġ"") Ċ } Ċ Ċ <! FUN _ INTERFACE _ AB STR ACT _ METHOD _ WITH _ DEFAULT _ VALUE !> fun <! > Ġinterface ĠDer ive Default Ġ: ĠBase With DefaultValue ĊĊ