Processing vararg flag of parameter for primitives and wrappers.

#KT-2776 fixed
This commit is contained in:
Evgeny Gerashchenko
2012-11-28 12:55:21 +04:00
parent 6375ea89a0
commit 88bf3d9298
16 changed files with 202 additions and 8 deletions
@@ -0,0 +1,12 @@
package test;
public interface InheritNotVarargInteger {
public interface Super {
void foo(Integer[] p);
}
public interface Sub extends Super {
void foo(Integer... p);
}
}
@@ -0,0 +1,12 @@
package test
public trait InheritNotVarargInteger: Object {
public trait Super: Object {
public fun foo(p0: Array<out Int?>?)
}
public trait Sub: Super {
override fun foo(p0: Array<out Int?>?)
}
}
@@ -0,0 +1,10 @@
namespace test
public abstract trait test.InheritNotVarargInteger : java.lang.Object {
public abstract trait test.InheritNotVarargInteger.Sub : test.InheritNotVarargInteger.Super {
public abstract override /*1*/ fun foo(/*0*/ p0: jet.Array<out jet.Int?>?): jet.Tuple0
}
public abstract trait test.InheritNotVarargInteger.Super : java.lang.Object {
public abstract fun foo(/*0*/ p0: jet.Array<out jet.Int?>?): jet.Tuple0
}
}
@@ -0,0 +1,12 @@
package test;
public interface InheritNotVarargPrimitive {
public interface Super {
void foo(int[] p);
}
public interface Sub extends Super {
void foo(int... p);
}
}
@@ -0,0 +1,12 @@
package test
public trait InheritNotVarargPrimitive: Object {
public trait Super: Object {
public fun foo(p0: IntArray?)
}
public trait Sub: Super {
override fun foo(p0: IntArray?)
}
}
@@ -0,0 +1,10 @@
namespace test
public abstract trait test.InheritNotVarargPrimitive : java.lang.Object {
public abstract trait test.InheritNotVarargPrimitive.Sub : test.InheritNotVarargPrimitive.Super {
public abstract override /*1*/ fun foo(/*0*/ p0: jet.IntArray?): jet.Tuple0
}
public abstract trait test.InheritNotVarargPrimitive.Super : java.lang.Object {
public abstract fun foo(/*0*/ p0: jet.IntArray?): jet.Tuple0
}
}
@@ -0,0 +1,12 @@
package test;
public interface InheritVarargInteger {
public interface Super {
void foo(Integer... p);
}
public interface Sub extends Super {
void foo(Integer[] p);
}
}
@@ -0,0 +1,12 @@
package test
public trait InheritVarargInteger: Object {
public trait Super: Object {
public fun foo(vararg p0: Int?)
}
public trait Sub: Super {
override fun foo(vararg p0: Int?)
}
}
@@ -0,0 +1,10 @@
namespace test
public abstract trait test.InheritVarargInteger : java.lang.Object {
public abstract trait test.InheritVarargInteger.Sub : test.InheritVarargInteger.Super {
public abstract override /*1*/ fun foo(/*0*/ vararg p0: jet.Int? /*jet.Array<jet.Int?>*/): jet.Tuple0
}
public abstract trait test.InheritVarargInteger.Super : java.lang.Object {
public abstract fun foo(/*0*/ vararg p0: jet.Int? /*jet.Array<jet.Int?>*/): jet.Tuple0
}
}
@@ -0,0 +1,12 @@
package test;
public interface InheritVarargPrimitive {
public interface Super {
void foo(int... p);
}
public interface Sub extends Super {
void foo(int[] p);
}
}
@@ -0,0 +1,12 @@
package test
public trait InheritVarargPrimitive: Object {
public trait Super: Object {
public fun foo(vararg p0: Int)
}
public trait Sub: Super {
override fun foo(vararg p0: Int)
}
}
@@ -0,0 +1,10 @@
namespace test
public abstract trait test.InheritVarargPrimitive : java.lang.Object {
public abstract trait test.InheritVarargPrimitive.Sub : test.InheritVarargPrimitive.Super {
public abstract override /*1*/ fun foo(/*0*/ vararg p0: jet.Int /*jet.IntArray*/): jet.Tuple0
}
public abstract trait test.InheritVarargPrimitive.Super : java.lang.Object {
public abstract fun foo(/*0*/ vararg p0: jet.Int /*jet.IntArray*/): jet.Tuple0
}
}