type migration: fix AIOOBE for method with generic varargs migration (EA-87127)

This commit is contained in:
Dmitry Batkovich
2017-03-13 16:53:06 +03:00
parent 5b479b8377
commit 3e80efb857
5 changed files with 50 additions and 2 deletions
@@ -862,6 +862,10 @@ public class TypeMigrationTest extends TypeMigrationTestBase {
doTestMethodType("migrationMethod", PsiType.VOID);
}
public void testGenericEllipsis() {
doTestFieldType("migrationField", myJavaFacade.getElementFactory().createTypeFromText("Test<Short>", null));
}
private void doTestReturnType(final String methodName, final String migrationType) {
start(new RulesProvider() {
@Override
@@ -0,0 +1,10 @@
Types:
PsiField:migrationField : Test<java.lang.Short>
PsiMethodCallExpression:migrationField.method() : void
PsiReferenceExpression:migrationField : Test<java.lang.Short>
Conversions:
migrationField.method() -> $
New expression type changes:
Fails:
@@ -0,0 +1,11 @@
class Test<X> {
private static Test<Short> migrationField;
private static void m() {
migrationField.method();
}
void method(X... xes) {
}
}
@@ -0,0 +1,11 @@
class Test<X> {
private static Test<Integer> migrationField;
private static void m() {
migrationField.method();
}
void method(X... xes) {
}
}