下面列出了com.intellij.psi.util.PsiTreeUtil#skipParentsOfType ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private boolean isInString(PsiElement start) {
PsiElement parent = PsiTreeUtil.skipParentsOfType(start, LeafPsiElement.class, BashVar.class);
if (parent != null) {
return parent instanceof BashString;
}
return start instanceof BashString;
}
public static boolean isOnAssignmentLeftHand(@NotNull HaxeExpression expr) {
final PsiElement parent = PsiTreeUtil.skipParentsOfType(expr, HaxeParenthesizedExpression.class);
return parent instanceof HaxeAssignExpression &&
PsiTreeUtil.isAncestor(((HaxeAssignExpression)parent).getExpressionList().get(0), expr, false);
}
public static boolean isAccessedForReading(@NotNull HaxeExpression expr) {
final PsiElement parent = PsiTreeUtil.skipParentsOfType(expr, HaxeParenthesizedExpression.class);
return !(parent instanceof HaxeAssignExpression) ||
!PsiTreeUtil.isAncestor(((HaxeAssignExpression)parent).getExpressionList().get(0), expr, false) ||
getAssignOperationElementType((HaxeAssignExpression)parent) != HaxeTokenTypes.OASSIGN;
}