diamond completion: allow class type parameters in constructor params list (IDEA-109942)

This commit is contained in:
anna
2013-07-03 12:10:28 +02:00
parent 1a09a21859
commit 08562dc58d
2 changed files with 4 additions and 3 deletions
@@ -287,7 +287,7 @@ public class PsiDiamondTypeImpl extends PsiDiamondType {
}
public static boolean haveConstructorsGenericsParameters(@NotNull final PsiClass psiClass) {
for (PsiMethod method : psiClass.getConstructors()) {
for (final PsiMethod method : psiClass.getConstructors()) {
for (PsiParameter parameter : method.getParameterList().getParameters()) {
final PsiType type = parameter.getType();
final Boolean accept = type.accept(new PsiTypeVisitor<Boolean>() {
@@ -304,7 +304,8 @@ public class PsiDiamondTypeImpl extends PsiDiamondType {
if (typaParamFound != null && typaParamFound) return true;
}
}
return PsiUtil.resolveClassInType(classType) instanceof PsiTypeParameter;
final PsiClass aClass = PsiUtil.resolveClassInType(classType);
return aClass instanceof PsiTypeParameter && ((PsiTypeParameter)aClass).getOwner() == method;
}
@Override
@@ -1,6 +1,6 @@
class MyClass {
public void foo() {
MyDD<String> d = new MyDD<String>(<caret>);
MyDD<String> d = new MyDD<>(<caret>);
}
}