global inspections: store parameter references only once

This commit is contained in:
peter
2013-09-14 10:27:26 +04:00
parent 368e989e90
commit 7afff0e936
@@ -78,6 +78,26 @@ public class RefMethodImpl extends RefJavaElementImpl implements RefMethod {
setConstructor(true);
}
@Override
public void add(RefEntity child) {
if (child instanceof RefParameter) {
return;
}
super.add(child);
}
@Override
public List<RefEntity> getChildren() {
List<RefEntity> superChildren = super.getChildren();
if (myParameters == null) return superChildren;
if (superChildren == null || superChildren.isEmpty()) return Arrays.<RefEntity>asList(myParameters);
List<RefEntity> allChildren = new ArrayList<RefEntity>(superChildren.size() + myParameters.length);
allChildren.addAll(superChildren);
Collections.addAll(allChildren, myParameters);
return allChildren;
}
@Override
protected void initialize() {
final PsiMethod method = (PsiMethod)getElement();