public static int compilationUnitComplexity(CompilationUnitTree cut) { // only visit methods and initializers class CompilationUnitVisitor extends BaseTreeVisitor { private int cutComplexity = 0; @Override public void visitMethod(MethodTree tree) { cutComplexity += methodComplexity(tree).complexity; super.visitMethod(tree); } @Override public void visitBlock(BlockTree tree) { if (tree.is(Tree.Kind.INITIALIZER, Tree.Kind.STATIC_INITIALIZER)) { CognitiveComplexityVisitor visitor = new CognitiveComplexityVisitor(); tree.accept(visitor); cutComplexity += visitor.complexity; } super.visitBlock(tree); } } CompilationUnitVisitor compilationUnitVisitor = new CompilationUnitVisitor(); cut.accept(compilationUnitVisitor); return compilationUnitVisitor.cutComplexity; }
public static int compilationUnitComplexity(CompilationUnitTree cut) { // only visit methods and initializers class CompilationUnitVisitor extends BaseTreeVisitor { private int cutComplexity = 0; @Override public void visitMethod(MethodTree tree) { cutComplexity += methodComplexity(tree).complexity; super.visitMethod(tree); } @Override public void visitBlock(BlockTree tree) { if (tree.is(Tree.Kind.INITIALIZER, Tree.Kind.STATIC_INITIALIZER)) { CognitiveComplexityVisitor visitor = new CognitiveComplexityVisitor(); tree.accept(visitor); cutComplexity += visitor.complexity; } super.visitBlock(tree); } } CompilationUnitVisitor compilationUnitVisitor = new CompilationUnitVisitor(); cut.accept(compilationUnitVisitor); return compilationUnitVisitor.cutComplexity; }
@Override public void scanFile(final JavaFileScannerContext context) { this.context = context; semanticModel = (SemanticModel) context.getSemanticModel(); if (semanticModel != null) { context.getTree().accept(this); } }
public Generator(String source) { cut = (CompilationUnitTree) PARSER.parse(source); uast = visit(cut).findFirst().get(); cut.accept(new PostprocessVisitor()); }
private void gatherAppliedAnnotations(JavaFileScannerContext context) { annotations = new CheckAppliedAnnotationsVisitor(); context.getTree().accept(annotations); }