/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ċ Ġ* Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġcodegen . interface Calls NC ast s . di amond Ċ Ċ import Ġkotlin . test .* Ċ Ċ interface ĠA < T , ĠU > Ġ{ ĊĠĠĠ Ġfun Ġfoo ( t : ĠT , Ġu : ĠU ) Ġ= Ġ" A " Ċ } Ċ Ċ interface ĠB < U > Ġ: ĠA < String , ĠU > Ċ Ċ interface ĠC < T > Ġ: ĠA < T , ĠInt > Ċ Ċ class ĠZ Ġ: ĠB < Int >, ĠC < String > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġfoo ( t : ĠString , Ġu : ĠInt ) Ġ= Ġ" Z " Ċ } Ċ Ċ @ Test Ċ fun Ġrun Test () Ġ{ ĊĠĠĠ Ġval Ġz Ġ= ĠZ () ĊĠĠĠ Ġval Ġc : ĠC < String > Ġ= Ġz ĊĠĠĠ Ġval Ġb : ĠB < Int > Ġ= Ġz ĊĠĠĠ Ġval Ġa : ĠA < String , ĠInt > Ġ= Ġz ĊĊĠĠĠ ĠassertEquals (" Z ", Ġz . foo ("", Ġ 0 )) ĊĠĠĠ ĠassertEquals (" Z ", Ġc . foo ("", Ġ 0 )) ĊĠĠĠ ĠassertEquals (" Z ", Ġb . foo ("", Ġ 0 )) ĊĠĠĠ ĠassertEquals (" Z ", Ġa . foo ("", Ġ 0 )) Ċ }