@Override public void visitNode(Tree tree) { if (isClassTree(tree)) { classes++; classTrees.push((ClassTree) tree); } if (tree.is(Tree.Kind.NEW_CLASS) && ((NewClassTree) tree).classBody() != null) { classes--; } if (tree.is(Tree.Kind.METHOD, Tree.Kind.CONSTRUCTOR) && classTrees.peek().simpleName() != null) { // don't count methods in anonymous classes. MethodTree methodTree = (MethodTree) tree; if (separateAccessorsFromMethods && AccessorsUtils.isAccessor(classTrees.peek(), methodTree)) { accessors++; } else { methods++; int methodComplexity = context.getMethodComplexityNodes(classTrees.peek(), methodTree).size(); methodComplexityDistribution.add(methodComplexity); complexityInMethods += methodComplexity; } } }