private void visit(Tree tree) { Consumer<SubscriptionVisitor> callback; boolean isToken = tree.kind() == Tree.Kind.TOKEN; if (isToken) { callback = s -> { SyntaxToken syntaxToken = (SyntaxToken) tree; s.visitToken(syntaxToken); }; } else { callback = s -> s.visitNode(tree); } List<SubscriptionVisitor> subscribed = checks.getOrDefault(tree.kind(), Collections.emptyList()); subscribed.forEach(callback); if (isToken) { checks.getOrDefault(Tree.Kind.TRIVIA, Collections.emptyList()).forEach(s -> ((SyntaxToken) tree).trivias().forEach(s::visitTrivia)); } else { visitChildren(tree); } if(!isToken) { subscribed.forEach(s -> s.leaveNode(tree)); } } }
private void visit(Tree tree) { Consumer<SubscriptionVisitor> callback; boolean isToken = tree.kind() == Tree.Kind.TOKEN; if (isToken) { callback = s -> { SyntaxToken syntaxToken = (SyntaxToken) tree; s.visitToken(syntaxToken); }; } else { callback = s -> s.visitNode(tree); } List<SubscriptionVisitor> subscribed = checks.getOrDefault(tree.kind(), Collections.emptyList()); subscribed.forEach(callback); if (isToken) { checks.getOrDefault(Tree.Kind.TRIVIA, Collections.emptyList()).forEach(s -> ((SyntaxToken) tree).trivias().forEach(s::visitTrivia)); } else { visitChildren(tree); } if(!isToken) { subscribed.forEach(s -> s.leaveNode(tree)); } } }
protected void visitTokens(CompilationUnitTree compilationUnitTree) { if (nodesToVisit().contains(Tree.Kind.TOKEN) || nodesToVisit().contains(Tree.Kind.TRIVIA)) { //FIXME relying on ASTNode to iterate over tokens. for (Token token : ((JavaTree) compilationUnitTree).getAstNode().getTokens()) { SyntaxToken syntaxToken = new InternalSyntaxToken(token); visitToken(syntaxToken); if (nodesToVisit().contains(Tree.Kind.TRIVIA)) { for (SyntaxTrivia syntaxTrivia : syntaxToken.trivias()) { visitTrivia(syntaxTrivia); } } } } }
private void visit(Tree tree) { boolean isSubscribed = isSubscribed(tree); boolean shouldVisitSyntaxToken = (visitToken || visitTrivia) && tree.is(Tree.Kind.TOKEN); if (shouldVisitSyntaxToken) { SyntaxToken syntaxToken = (SyntaxToken) tree; if (visitToken) { visitToken(syntaxToken); } if (visitTrivia) { for (SyntaxTrivia syntaxTrivia : syntaxToken.trivias()) { visitTrivia(syntaxTrivia); } } } else if (isSubscribed) { visitNode(tree); } visitChildren(tree); if (!shouldVisitSyntaxToken && isSubscribed) { leaveNode(tree); } }
private void visit(Tree tree) { boolean isSubscribed = isSubscribed(tree); boolean shouldVisitSyntaxToken = (visitToken || visitTrivia) && tree.is(Tree.Kind.TOKEN); if (shouldVisitSyntaxToken) { SyntaxToken syntaxToken = (SyntaxToken) tree; if (visitToken) { visitToken(syntaxToken); } if (visitTrivia) { for (SyntaxTrivia syntaxTrivia : syntaxToken.trivias()) { visitTrivia(syntaxTrivia); } } } else if (isSubscribed) { visitNode(tree); } visitChildren(tree); if (!shouldVisitSyntaxToken && isSubscribed) { leaveNode(tree); } }
private void visit(Tree tree) { boolean isSubscribed = isSubscribed(tree); boolean shouldVisitSyntaxToken = (visitToken || visitTrivia) && tree.is(Tree.Kind.TOKEN); if (shouldVisitSyntaxToken) { SyntaxToken syntaxToken = (SyntaxToken) tree; if (visitToken) { visitToken(syntaxToken); } if (visitTrivia) { for (SyntaxTrivia syntaxTrivia : syntaxToken.trivias()) { visitTrivia(syntaxTrivia); } } } else if (isSubscribed) { visitNode(tree); } visitChildren(tree); if (!shouldVisitSyntaxToken && isSubscribed) { leaveNode(tree); } }