EA-36903 - ISE: JavaTypeTransformer$.visitClassType

Using error types as type arguments when there's an error in a type instantiation in Java code
This commit is contained in:
Andrey Breslav
2013-02-25 15:10:58 +04:00
parent 9b9fa26713
commit c5d1e04d41
4 changed files with 63 additions and 17 deletions
@@ -0,0 +1,17 @@
package test
public trait WrongNumberOfGenericParameters : java.lang.Object {
public abstract fun o0() : test.WrongNumberOfGenericParameters.One<out jet.Any?>?
public abstract fun o2() : test.WrongNumberOfGenericParameters.One<[ERROR : T]>?
public abstract fun t1() : test.WrongNumberOfGenericParameters.Two<out jet.Any?, out jet.Any?>?
public abstract fun z() : test.WrongNumberOfGenericParameters.Zero?
public trait One</*0*/ T> : java.lang.Object {
}
public trait Two</*0*/ P, /*1*/ Q> : java.lang.Object {
}
public trait Zero : java.lang.Object {
}
}
@@ -0,0 +1,16 @@
package test;
public interface WrongNumberOfGenericParameters {
interface Zero {}
interface One<T> {}
Zero<String> z();
One o0();
One<String, String> o2();
// This does not produce the expected result, because IDEA thinks Two<X> is a raw type
interface Two<P, Q> {}
Two<String> t1();
}