code generation: ensure parameter is created with denotable type

EA-69807 - AIOOBE: PsiElementFactoryImpl.createParameter
This commit is contained in:
Anna Kozlova
2016-09-16 08:52:52 +03:00
parent ffd40c6bc2
commit 89eb51f21c
3 changed files with 17 additions and 1 deletions

View File

@@ -444,7 +444,7 @@ public class GenerateMembersUtil {
paramName = generator.generateUniqueName(paramName);
}
generator.addExistingName(paramName);
result[i] = factory.createParameter(paramName, substituted, target);
result[i] = factory.createParameter(paramName, GenericsUtil.getVariableTypeByExpressionType(substituted), target);
}
return result;
}

View File

@@ -0,0 +1,10 @@
// "Implement methods" "true"
interface I<T> {
void m(I<? extends T> i, T v);
}
class Impl implements I<? super Number> {
@Override
public void m(I<?> i, Object v) {
<caret>
}
}

View File

@@ -0,0 +1,6 @@
// "Implement methods" "true"
interface I<T> {
void m(I<? extends T> i, T v);
}
class I<caret>mpl implements I<? super Number> {
}