class ĠA Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠ Ġvar Ġv Ġ= Ġ" NOT ĠOK " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġg ( cross inline Ġf : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠ Ġ} Ġ() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġg 2 ( cross inline Ġf : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. run Ġ() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġuse () Ġ{ ĊĠĠĠĠĠĠĠ Ġg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 Ġ{ Ġs Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġuse Non Inline () Ġ{ ĊĠĠĠĠĠĠĠ Ġg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 Ġ{ Ġs Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġ" OK " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠOne Ġdirect Ġ` A . s ` Ġaccess Ġin Ġthe Ġaccessibility Ġbridge Ġ` access $ getS $ cp `. Ċ // Ġ 1 ĠGET STATIC ĠA . s Ċ Ċ // ĠOne Ġdirect Ġ` A . v ` Ġset Ġin Ġthe Ġaccessibility Ġbridge Ġ` access $ set V $ cp `. Ċ // ĠOne Ġdirect Ġ` A . v ` Ġset Ġin Ġ` A .< cl init >` Ċ // Ġ 2 ĠPUT STATIC ĠA . v Ċ Ċ // ĠJVM _ IR _ TEMP LAT ES Ċ Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġinline Ġfunction Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Inline `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Non Inline `. Ċ // Ġ 1 2 ĠIN VOKE VIRTUAL ĠA \$ Companion . getS Ċ Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġinline Ġfunction Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Inline `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Non Inline `. Ċ // Ġ 1 2 ĠIN VOKE VIRTUAL ĠA \$ Companion . set V Ċ Ċ // ĠOne Ġcall Ġto Ġthe Ġaccessibility Ġbridge Ġ` access $ set V $ cp ` Ġfrom ĠComp anion . set V . Ċ // ĠTwo Ġuses Ġof Ġthe Ġdirect Ġaccessor Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġuse Non Inline . Ċ // Ġ 3 ĠIN VOKE STATIC ĠA . access \$ set V \$ cp Ċ Ċ // ĠOne Ġcall Ġto Ġthe Ġaccessibility Ġbridge Ġ` access $ getS $ cp ` Ġfrom ĠComp anion . getS . Ċ // ĠTwo Ġuses Ġof Ġthe Ġdirect Ġaccessor Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġuse Non Inline . Ċ // Ġ 3 ĠIN VOKE STATIC ĠA . access \$ getS \$ cp Ċ Ċ // ĠJVM _ TEMP LAT ES Ċ Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġinline Ġfunction Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Inline `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Non Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Non Inline `. Ċ // Ġ 1 4 ĠIN VOKE VIRTUAL ĠA \$ Companion . getS Ċ Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġinline Ġfunction Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Inline `. Ċ // ĠFour Ġaccesses Ġfrom Ġthe Ġcode Ġfor Ġ` g ` Ġand Ġ` g 2 ` Ġin lined Ġin Ġ` use Non Inline `. Ċ // ĠTwo Ġaccesses Ġfrom Ġthe Ġlamb das Ġin lined Ġin Ġ` use Non Inline `. Ċ // Ġ 1 4 ĠIN VOKE VIRTUAL ĠA \$ Companion . set V Ċ Ċ // ĠOne Ġcall Ġto Ġthe Ġaccessibility Ġbridge Ġ` access $ set V $ cp ` Ġfrom ĠComp anion . set V . Ċ // Ġ 1 ĠIN VOKE STATIC ĠA . access \$ set V \$ cp Ċ Ċ // ĠOne Ġcall Ġto Ġthe Ġaccessibility Ġbridge Ġ` access $ getS $ cp ` Ġfrom ĠComp anion . getS . Ċ // Ġ 1 ĠIN VOKE STATIC ĠA . access \$ getS \$ cp