// ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ interface ĠA Ġ{ ĊĠĠĠ Ġfun Ġfoo (): ĠAny Ċ } Ċ Ċ open Ġclass ĠB Ġ{ ĊĠĠĠ Ġfun Ġfoo (): ĠString Ġ= Ġ" hello " Ċ } Ċ Ċ open Ġclass ĠC Ġ: ĠB () Ċ Ċ class ĠD Ġ: ĠA , ĠC () Ġ{ ĊĠĠĠ Ġ// ĠThere 's Ġa Ġfake Ġoverride Ġfor Ġ' foo ' Ġin Ġclass ĠD , Ġand , Ġsince Ġthere Ġare Ġdeclarations Ġwith Ġdifferent Ġsignatures Ġin Ġthe Ġsup ert ypes , ĊĠĠĠ Ġ// Ġa Ġbridge Ġis Ġgenerated Ġwith Ġthe Ġsignature Ġfoo () Ljava / lang / Object ; Ġwhich Ġinvokes Ġfoo () Ljava / lang / String ; ĊĠĠĠ Ġ// ĠThis Ġtest Ġchecks Ġthat Ġthe Ġgenerated Ġbridge Ġcalls ĠD . foo () Ġinstead Ġof ĠB . foo (). ĠThat Ġway Ġwhen Ġan Ġimplementation Ġof ĊĠĠĠ Ġ// Ġfoo () Ljava / lang / String Ġis Ġadded Ġto ĠC Ġlater , ĠD Ġwon 't Ġneed Ġto Ġbe Ġre compiled . ĊĠĠĠ Ġ// ĠNote Ġthat Ġinvoke virtual / inv okes pec ial Ġof ĠC . foo () Ġwould Ġalso Ġbe Ġfine Ġ( inv okes pec ial Ġis Ġjav ac 's Ġbehavior ). Ċ } Ċ Ċ // Ġ 1 ĠIN VOKE VIRTUAL ĠD . foo Ċ // Ġ 0 ĠIN VOKE VIRTUAL ĠB . foo Ċ