EA-62306 - NPE: ParameterInfoUtils.findArgumentList

This commit is contained in:
Dmitry Batrak
2016-04-08 13:45:33 +03:00
parent 1cde5021be
commit 3095f96559
@@ -100,28 +100,30 @@ public class ParameterInfoUtils {
while(true){
if (findArgumentListHelper.getArgumentListClass().isInstance(parent)) {
TextRange range = parent.getTextRange();
if (!acceptRparenth){
if (offset == range.getEndOffset() - 1){
PsiElement[] children = parent.getChildren();
if (children.length == 0) return null;
PsiElement last = children[children.length - 1];
if (last.getNode().getElementType() == findArgumentListHelper.getActualParametersRBraceType()){
if (range != null) {
if (!acceptRparenth){
if (offset == range.getEndOffset() - 1){
PsiElement[] children = parent.getChildren();
if (children.length == 0) return null;
PsiElement last = children[children.length - 1];
if (last.getNode().getElementType() == findArgumentListHelper.getActualParametersRBraceType()){
parent = parent.getParent();
continue;
}
}
}
if (!acceptLparenth){
if (offset == range.getStartOffset()){
parent = parent.getParent();
continue;
}
}
}
if (!acceptLparenth){
if (offset == range.getStartOffset()){
if (lbraceOffset >= 0 && range.getStartOffset() != lbraceOffset){
parent = parent.getParent();
continue;
}
break;
}
if (lbraceOffset >= 0 && range.getStartOffset() != lbraceOffset){
parent = parent.getParent();
continue;
}
break;
}
if (parent instanceof PsiFile || parent == null) return null;