PsiTreeUtil.getParentOfType()返回null

时间:2015-06-16 11:26:08

标签: java nullpointerexception intellij-plugin intellij-14

我正在尝试获取PsiElement的父方法。我通过使用PsiTreeUtil.getParentOfType方法得到null。

PsiMethod m = PsiTreeUtil.getParentOfType(psiElement, PsiClass.class);

但是当我遍历树时它会起作用:

PsiMethod m;
while(true){
    psiElement = psiElement.getParent();
    try{
        m = (PsiMethod)psiElement ;
        break;
    }
    catch(ClassCastException e)
    {
    }
}

有人可以解释一下为什么PsiTreeUtil.getParentOfType给出null而迭代它不给null并且我得到了所需的结果吗?

1 个答案:

答案 0 :(得分:1)

我用过这个,它现在有效。

PsiMethod s = PsiTreeUtil.getParentOfType(x, PsiMethod.class, false);