diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java b/java/java-analysis-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java index d03b2ca514dd..2cadd1f0db2f 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java @@ -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 getChildren() { + List superChildren = super.getChildren(); + if (myParameters == null) return superChildren; + if (superChildren == null || superChildren.isEmpty()) return Arrays.asList(myParameters); + + List allChildren = new ArrayList(superChildren.size() + myParameters.length); + allChildren.addAll(superChildren); + Collections.addAll(allChildren, myParameters); + return allChildren; + } + @Override protected void initialize() { final PsiMethod method = (PsiMethod)getElement();