public AstNode completeAnnotationTypeMember(ModifiersTreeImpl modifiers, AstNode partialAstNode) { JavaTree partial = (JavaTree) partialAstNode; partial.prependChildren(modifiers); if (partial.is(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) partial) { variable.completeModifiers(modifiers); } } else if (partial.is(Kind.CLASS) || partial.is(Kind.INTERFACE) || partial.is(Kind.ENUM) || partial.is(Kind.ANNOTATION_TYPE)) { ((ClassTreeImpl) partial).completeModifiers(modifiers); } else if (partial.is(Kind.METHOD)) { ((MethodTreeImpl) partial).completeWithModifiers(modifiers); } else { throw new IllegalArgumentException("Unsupported type: " + partial); } return partial; }
private boolean containsChildrenOfKind(JavaTree tree, Tree.Kind... kinds) { for (Tree.Kind kind : kinds) { if (tree.is(kind)) { return true; } } if (!tree.isLeaf()) { Iterator<Tree> treeIterator = tree.childrenIterator(); while (treeIterator.hasNext()) { JavaTree javaTree = (JavaTree) treeIterator.next(); if (javaTree != null && containsChildrenOfKind(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(); }
public JavaTree completeAnnotationTypeMember(ModifiersTreeImpl modifiers, JavaTree partial) { if (partial.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) partial) { variable.completeModifiers(modifiers); } } else if (partial.is(Kind.CLASS, Kind.INTERFACE, Kind.ENUM, Kind.ANNOTATION_TYPE)) { ((ClassTreeImpl) partial).completeModifiers(modifiers); } else if (partial.is(Kind.METHOD)) { ((MethodTreeImpl) partial).completeWithModifiers(modifiers); } else { throw new IllegalArgumentException("Unsupported type: " + partial); } return partial; }
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(); }
public JavaTree completeAnnotationTypeMember(ModifiersTreeImpl modifiers, JavaTree partial) { if (partial.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) partial) { variable.completeModifiers(modifiers); } } else if (partial.is(Kind.CLASS, Kind.INTERFACE, Kind.ENUM, Kind.ANNOTATION_TYPE)) { ((ClassTreeImpl) partial).completeModifiers(modifiers); } else if (partial.is(Kind.METHOD)) { ((MethodTreeImpl) partial).completeWithModifiers(modifiers); } else { throw new IllegalArgumentException("Unsupported type: " + partial); } return partial; }
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(); }
public JavaTree completeAnnotationTypeMember(ModifiersTreeImpl modifiers, JavaTree partial) { if (partial.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) partial) { variable.completeModifiers(modifiers); } } else if (partial.is(Kind.CLASS, Kind.INTERFACE, Kind.ENUM, Kind.ANNOTATION_TYPE)) { ((ClassTreeImpl) partial).completeModifiers(modifiers); } else if (partial.is(Kind.METHOD)) { ((MethodTreeImpl) partial).completeWithModifiers(modifiers); } else { throw new IllegalArgumentException("Unsupported type: " + partial); } return partial; }
public ClassTreeImpl newAnnotationType(InternalSyntaxToken openBraceToken, Optional<List<JavaTree>> annotationTypeElementDeclarations, InternalSyntaxToken closeBraceToken) { // TODO ModifiersTreeImpl emptyModifiers = ModifiersTreeImpl.emptyModifiers(); ImmutableList.Builder<Tree> members = ImmutableList.builder(); if (annotationTypeElementDeclarations.isPresent()) { for (JavaTree annotationTypeElementDeclaration : annotationTypeElementDeclarations.get()) { if (annotationTypeElementDeclaration.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) annotationTypeElementDeclaration) { members.add(variable); } } else if (!annotationTypeElementDeclaration.is(Kind.TOKEN)) { members.add(annotationTypeElementDeclaration); } } } return new ClassTreeImpl(emptyModifiers, openBraceToken, members.build(), closeBraceToken); }
public ClassTreeImpl newAnnotationType(InternalSyntaxToken openBraceToken, Optional<List<JavaTree>> annotationTypeElementDeclarations, InternalSyntaxToken closeBraceToken) { // TODO ModifiersTreeImpl emptyModifiers = ModifiersTreeImpl.emptyModifiers(); ImmutableList.Builder<Tree> members = ImmutableList.builder(); if (annotationTypeElementDeclarations.isPresent()) { for (JavaTree annotationTypeElementDeclaration : annotationTypeElementDeclarations.get()) { if (annotationTypeElementDeclaration.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) annotationTypeElementDeclaration) { members.add(variable); } } else if (!annotationTypeElementDeclaration.is(Kind.TOKEN)) { members.add(annotationTypeElementDeclaration); } } } return new ClassTreeImpl(emptyModifiers, openBraceToken, members.build(), closeBraceToken); }
public ClassTreeImpl newAnnotationType(InternalSyntaxToken openBraceToken, Optional<List<JavaTree>> annotationTypeElementDeclarations, InternalSyntaxToken closeBraceToken) { // TODO ModifiersTreeImpl emptyModifiers = ModifiersTreeImpl.emptyModifiers(); ImmutableList.Builder<Tree> members = ImmutableList.builder(); if (annotationTypeElementDeclarations.isPresent()) { for (JavaTree annotationTypeElementDeclaration : annotationTypeElementDeclarations.get()) { if (annotationTypeElementDeclaration.getGrammarRuleKey().equals(JavaLexer.VARIABLE_DECLARATORS)) { for (VariableTreeImpl variable : (VariableDeclaratorListTreeImpl) annotationTypeElementDeclaration) { members.add(variable); } } else if (!annotationTypeElementDeclaration.is(Kind.TOKEN)) { members.add(annotationTypeElementDeclaration); } } } return new ClassTreeImpl(emptyModifiers, openBraceToken, members.build(), closeBraceToken); }
/** * Caller must guarantee that nodes of the same kind. */ private static boolean areLeafsEquivalent(JavaTree leftNode, JavaTree rightNode) { if (leftNode instanceof IdentifierTree) { return Objects.equal(((IdentifierTree) leftNode).name(), ((IdentifierTree) rightNode).name()); } else if (leftNode instanceof PrimitiveTypeTree) { return Objects.equal(((PrimitiveTypeTree) leftNode).keyword().text(), ((PrimitiveTypeTree) rightNode).keyword().text()); } else if (leftNode instanceof SyntaxToken) { return Objects.equal(((SyntaxToken) leftNode).text(), ((SyntaxToken) rightNode).text()); } else if (leftNode.is(Tree.Kind.INFERED_TYPE)) { return rightNode.is(Tree.Kind.INFERED_TYPE); } else { throw new IllegalArgumentException(); } }
/** * Caller must guarantee that nodes of the same kind. */ private static boolean areLeafsEquivalent(JavaTree leftNode, JavaTree rightNode) { if (leftNode instanceof IdentifierTree) { return Objects.equal(((IdentifierTree) leftNode).name(), ((IdentifierTree) rightNode).name()); } else if (leftNode instanceof PrimitiveTypeTree) { return Objects.equal(((PrimitiveTypeTree) leftNode).keyword().text(), ((PrimitiveTypeTree) rightNode).keyword().text()); } else if (leftNode instanceof SyntaxToken) { return Objects.equal(((SyntaxToken) leftNode).text(), ((SyntaxToken) rightNode).text()); } else if (leftNode.is(Tree.Kind.INFERED_TYPE)) { return rightNode.is(Tree.Kind.INFERED_TYPE); } else { throw new IllegalArgumentException(); } }
/** * Caller must guarantee that nodes of the same kind. */ private static boolean areLeafsEquivalent(JavaTree leftNode, JavaTree rightNode) { if (leftNode instanceof IdentifierTree) { return Objects.equal(((IdentifierTree) leftNode).name(), ((IdentifierTree) rightNode).name()); } else if (leftNode instanceof PrimitiveTypeTree) { return Objects.equal(((PrimitiveTypeTree) leftNode).keyword().text(), ((PrimitiveTypeTree) rightNode).keyword().text()); } else if (leftNode instanceof SyntaxToken) { return Objects.equal(((SyntaxToken) leftNode).text(), ((SyntaxToken) rightNode).text()); } else if (leftNode.is(Tree.Kind.INFERED_TYPE)) { return rightNode.is(Tree.Kind.INFERED_TYPE); } else { throw new IllegalArgumentException(); } }
if (blockOrSemicolon.is(Tree.Kind.BLOCK)) { block = (BlockTreeImpl) blockOrSemicolon; } else {
if (blockOrSemicolon.is(Tree.Kind.BLOCK)) { block = (BlockTreeImpl) blockOrSemicolon; } else {
if (blockOrSemicolon.is(Tree.Kind.BLOCK)) { block = (BlockTreeImpl) blockOrSemicolon; } else {