@Override public final boolean is(Kind... kinds) { Kind treeKind = kind(); for (Kind kindIter : kinds) { if (treeKind == kindIter) { return true; } } return false; }
@Override public final boolean is(Kind... kinds) { Kind treeKind = kind(); for (Kind kindIter : kinds) { if (treeKind == kindIter) { return true; } } return false; }
@Override public final boolean is(Kind... kind) { Kind treeKind = kind(); for (Kind kindIter : kind) { if (treeKind == kindIter) { return true; } } return false; }
private static boolean areEquivalent(@Nullable JavaTree leftNode, @Nullable JavaTree rightNode) { if (leftNode == rightNode) { return true; } if (leftNode == null || rightNode == null) { return false; } if (leftNode.kind() != rightNode.kind() || leftNode.is(Tree.Kind.OTHER)) { return false; } else if (leftNode.isLeaf()) { return areLeafsEquivalent(leftNode, rightNode); } Iterator<Tree> iteratorA = leftNode.getChildren().iterator(); Iterator<Tree> iteratorB = rightNode.getChildren().iterator(); while (iteratorA.hasNext() && iteratorB.hasNext()) { if (!areEquivalent(iteratorA.next(), iteratorB.next())) { return false; } } return !iteratorA.hasNext() && !iteratorB.hasNext(); }
private static boolean containsChildrenOfKind(JavaTree tree, Tree.Kind... kinds) { if (Arrays.asList(kinds).contains(tree.kind())) { return true; } if (!tree.isLeaf()) { for (Tree javaTree : tree.getChildren()) { if (javaTree != null && containsChildrenOfKind((JavaTree) javaTree, kinds)) { return true; } } } return false; }
private static boolean areEquivalent(@Nullable JavaTree leftNode, @Nullable JavaTree rightNode) { if (leftNode == rightNode) { return true; } if (leftNode == null || rightNode == null) { return false; } if (leftNode.kind() != rightNode.kind() || leftNode.is(Tree.Kind.OTHER)) { return false; } else if (leftNode.isLeaf()) { return areLeafsEquivalent(leftNode, rightNode); } Iterator<Tree> iteratorA = leftNode.children().iterator(); Iterator<Tree> iteratorB = rightNode.children().iterator(); while (iteratorA.hasNext() && iteratorB.hasNext()) { if (!areEquivalent(iteratorA.next(), iteratorB.next())) { return false; } } return !iteratorA.hasNext() && !iteratorB.hasNext(); }
private static boolean containsChildrenOfKind(JavaTree tree, Tree.Kind... kinds) { if (Arrays.asList(kinds).contains(tree.kind())) { return true; } if (!tree.isLeaf()) { for (Tree javaTree : tree.getChildren()) { if (javaTree != null && containsChildrenOfKind((JavaTree) javaTree, kinds)) { return true; } } } return false; }
private static boolean areEquivalent(@Nullable JavaTree leftNode, @Nullable JavaTree rightNode) { if (leftNode == rightNode) { return true; } if (leftNode == null || rightNode == null) { return false; } if (leftNode.kind() != rightNode.kind() || leftNode.is(Tree.Kind.OTHER)) { return false; } else if (leftNode.isLeaf()) { return areLeafsEquivalent(leftNode, rightNode); } Iterator<Tree> iteratorA = leftNode.getChildren().iterator(); Iterator<Tree> iteratorB = rightNode.getChildren().iterator(); while (iteratorA.hasNext() && iteratorB.hasNext()) { if (!areEquivalent(iteratorA.next(), iteratorB.next())) { return false; } } return !iteratorA.hasNext() && !iteratorB.hasNext(); }