// ĠTEST ĠPROCESS OR : ĠResolve Java Type Processor Ċ // ĠEXPECT ED : Ċ // Ġkotlin . Int Ċ // Ġkotlin . String ? Ċ // Ġkotlin . IntArray ? Ċ // ĠC . T ? Ċ // ĠC . P Fun . P ? Ċ // Ġkotlin . collections . Mutable List < out Ġkotlin . collections . Mutable Set < kotlin . Double ?> ?> ? Ċ // Ġkotlin . collections . Mutable List < in Ġkotlin . collections . Mutable List < out Ġkotlin . Double ?> ?> ? Ċ // ĠBar ? Ċ // Ġkotlin . Array < Bar ?> ? Ċ // ĠEND Ċ // ĠFILE : Ġa . kt Ċ annotation Ġclass ĠTest Ċ @ Test Ċ class ĠFoo < P >: ĠC < P >() Ġ{ Ċ Ċ } Ċ Ċ class ĠBar Ċ Ċ // ĠFILE : ĠC . java Ċ import Ġjava . util . List ; Ċ import Ġjava . util . Set ; Ċ Ċ public Ġclass ĠC < T > Ġ{ ĊĠĠĠ Ġpublic Ġint Ġint Fun () Ġ{} ĊĊĠĠĠ Ġpublic ĠString Ġstr Fun () Ġ{} ĊĊĠĠĠ Ġpublic Ġint [] ĠintArray Fun () Ġ{} ĊĊĠĠĠ Ġpublic ĠT ĠT Foo () Ġ{} ĊĊĠĠĠ Ġpublic Ġ< P > ĠP ĠP Fun () Ġ{} ĊĊĠĠĠ Ġpublic ĠList <? Ġextends ĠSet < Double >> Ġextends Set Fun () Ġ{} ĊĊĠĠĠ Ġpublic ĠList <? Ġsuper ĠList <? Ġextends ĠDouble >> Ġextends List TF un () Ġ{} ĊĊĠĠĠ Ġpublic ĠBar ĠBar Fun () Ġ{} ĊĊĠĠĠ Ġpublic ĠBar [] ĠBar Arr y Fun () Ġ{} Ċ }