ScannerRunner(List<JavaFileScanner> executableScanners) { checks = new EnumMap<>(Tree.Kind.class); subscriptionVisitors = executableScanners.stream() .filter(isIssuableSubscriptionVisitor) .map(s -> (SubscriptionVisitor) s) .collect(Collectors.toList()); subscriptionVisitors.forEach(s -> s.nodesToVisit().forEach(k -> checks.computeIfAbsent(k, key -> new ArrayList<>()).add(s)) ); }
ScannerRunner(List<JavaFileScanner> executableScanners) { checks = new EnumMap<>(Tree.Kind.class); subscriptionVisitors = executableScanners.stream() .filter(isIssuableSubscriptionVisitor) .map(s -> (SubscriptionVisitor) s) .collect(Collectors.toList()); subscriptionVisitors.forEach(s -> s.nodesToVisit().forEach(k -> checks.computeIfAbsent(k, key -> new ArrayList<>()).add(s)) ); }
protected void scanTree(Tree tree) { nodesToVisit = nodesToVisit(); visit(tree); }
protected void scanTree(Tree tree) { if(nodesToVisit == null) { List<Tree.Kind> kinds = nodesToVisit(); if(kinds.isEmpty()) { nodesToVisit = EnumSet.noneOf(Tree.Kind.class); } else { nodesToVisit = EnumSet.copyOf(kinds); } } visitToken = isVisitingTokens(); visitTrivia = isVisitingTrivia(); visit(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); } } } } }
protected void scanTree(Tree tree) { if(nodesToVisit == null) { List<Tree.Kind> kinds = nodesToVisit(); if(kinds.isEmpty()) { nodesToVisit = EnumSet.noneOf(Tree.Kind.class); } else { nodesToVisit = EnumSet.copyOf(kinds); } } visitToken = isVisitingTokens(); visitTrivia = isVisitingTrivia(); visit(tree); }
protected void scanTree(Tree tree) { nodesToVisit = nodesToVisit(); visitToken = isVisitingTokens(); visitTrivia = isVisitingTrivia(); visit(tree); }