Duplicate method in generated Java

Description

The following code generates wrong Java code:

class A {
static class B {
public static def f[T] (x:T) {}
}
class SubB extends B {
public def test() {
super.f[Long](1);
super.f(1);
}
}
}

The two calls to "f" generates two methods:

public void A$B$f$S(final long a0) {
super.<x10.core.Long> f__0A$B$$T(x10.rtt.Types.LONG, x10.core.Long.$box(a0));
}

If we replace "super.f[Long](1);" by "super.f(1);" or the converse, there is no bug. In this case, the compiler understands that it has to generate only one function "A$B$f$S".

Environment

None

Status

Assignee

Mikio Takeuchi

Reporter

Louis Mandel

Labels

None

External issue ID

None

Components

Fix versions

Affects versions

X10 SVN HEAD

Priority

Medium
Configure