import `java::java`java.* import `java::java.util`util.* fun foo(~a~a : `std::Array`Array<`std::Int`Int>) : `java::java.util.List`List { `a`a.`std::Array.get(Int)`get(1) `a`a.`std::Array.set(Int, Int)`set(1, 1) } fun foo(o : `java::java.lang.Object`Object, l : `java::java.util`util.`java::java.util.List`List) : `java::java.util.List`List {} ~A~class A { fun f(a : `java::java.util`util.`java::java.util.List`List) {} fun f(a : `java::java.util.List`List) {} } class B : `java::java.lang.Object`Object { fun bar(~o~o : `java::java.lang.Object`Object) { `java::java.lang.System`System.`java::java.lang.System.out`out.`java::java.io.PrintStream.print(Object)`print(`o`o) } fun f(a : `java::java.util`util.`java::java.util.List`List) {} fun f(a : `java::java.util.List`List) {} ~foo~fun foo(abc : `A`A) : `A`A { `java::java`java.`java::java.lang`lang.`java::java.lang.System`System.`java::java.lang.System.out`out.`java::java.io.PrintStream.print(Int)`print(1) `java::java.util`util.`java::java.util.Collections`Collections.`java::java.util.Collections.emptyList()`emptyList() `java::java`java.`!`Foo `java::java.util.Collections`Collections.`java::java.util.Collections.emptyList()`emptyList() } fun barrr() : `std::Int`Int { `foo`foo(new `A`A()) } } ~c~fun c(~x~x : `java::java.lang.Number`Number) { `x`x.`java::java.lang.Number.intValue()`intValue() } fun t(t : T) : T { `c`c(new java.lang.Integer(1)) System.out.`java::java.io.PrintStream.print(Object)`print(t) System.out.`java::java.io.PrintStream.print(char[])`print(null : Array?) System.out.`java::java.io.PrintStream.print(Object)`print(null : Object?) System.out.`java::java.io.PrintStream.print(Int)`print(1) System.out.`java::java.io.PrintStream.print(Double)`print(1.0) }