PsiTreeUtil.getParentOfType() returns 空
PsiTreeUtil.getParentOfType() returns null
我正在尝试获取 PsiElement 的父方法。我使用 PsiTreeUtil.getParentOfType 方法得到空值。
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 而我得到所需的结果吗?
我用过这个,现在可以用了。
PsiMethod s = PsiTreeUtil.getParentOfType(x, PsiMethod.class, false);
我正在尝试获取 PsiElement 的父方法。我使用 PsiTreeUtil.getParentOfType 方法得到空值。
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 而我得到所需的结果吗?
我用过这个,现在可以用了。
PsiMethod s = PsiTreeUtil.getParentOfType(x, PsiMethod.class, false);