deprecation inspection: check non default constructors used in anonymous classes (IDEA-82794)

This commit is contained in:
anna
2012-03-15 11:29:56 +01:00
parent 1ee52c0793
commit 08585afbb4
2 changed files with 15 additions and 2 deletions
@@ -129,8 +129,9 @@ public class DeprecationInspection extends BaseJavaLocalInspectionTool {
if (results.length == 1) result = (MethodCandidateInfo)results[0];
PsiMethod constructor = result == null ? null : result.getElement();
if (constructor != null && expression.getClassReference() != null) {
checkDeprecated(constructor, expression.getClassReference(), null, myIgnoreInsideDeprecated, myHolder);
if (constructor != null && expression.getClassOrAnonymousClassReference() != null) {
if (expression.getClassReference() == null && constructor.getParameterList().getParametersCount() == 0) return;
checkDeprecated(constructor, expression.getClassOrAnonymousClassReference(), null, myIgnoreInsideDeprecated, myHolder);
}
}
}
@@ -75,3 +75,15 @@ class Aaa {
new Aaa("asdasdad") {};
}
}
class Anonym {
/**
* @deprecated
*/
public Anonym(String sss) {
System.out.println(sss);
}
public void foo() {
new <warning descr="'Anonym(java.lang.String)' is deprecated">Anonym</warning>("asdasd") {};
}
}