| convertToPointcutDeclaration(MethodDeclaration, ClassScope) |  | 0% |  | 0% | 32 | 32 | 70 | 70 | 1 | 1 |
| validateAdvice(MethodDeclaration) |  | 0% |  | 0% | 15 | 15 | 30 | 30 | 1 | 1 |
| validateAspectDeclaration(TypeDeclaration) |  | 0% |  | 0% | 16 | 16 | 33 | 33 | 1 | 1 |
| resolveAndSetPointcut(MethodDeclaration, Annotation) |  | 0% |  | 0% | 4 | 4 | 26 | 26 | 1 | 1 |
| getStringLiteralFor(String, Annotation, int[]) |  | 0% |  | 0% | 11 | 11 | 25 | 25 | 1 | 1 |
| visit(MethodDeclaration, ClassScope) |  | 0% |  | 0% | 15 | 15 | 21 | 21 | 1 | 1 |
| buildFormalAdviceBindingsFrom(MethodDeclaration) |  | 0% |  | 0% | 10 | 10 | 21 | 21 | 1 | 1 |
| copyAllFields(MethodDeclaration, MethodDeclaration) |  | 0% | | n/a | 1 | 1 | 22 | 22 | 1 | 1 |
| checkTypeDeclaration(TypeDeclaration) |  | 0% |  | 0% | 8 | 8 | 18 | 18 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 15 | 15 | 1 | 1 |
| toArgumentNames(Argument[]) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| ensureVoidReturnType(MethodDeclaration) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| maybeGetExtraArgName() |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| visit(FieldDeclaration, MethodScope) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| swap(TypeDeclaration, MethodDeclaration, MethodDeclaration) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| visit(TypeDeclaration, BlockScope) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| visit(TypeDeclaration, ClassScope) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| visit(TypeDeclaration, CompilationUnitScope) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| insideAspect() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| isAspect(TypeDeclaration) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| ValidateAtAspectJAnnotationsVisitor(CompilationUnitDeclaration) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| endVisit(TypeDeclaration, BlockScope) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| endVisit(TypeDeclaration, ClassScope) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| endVisit(TypeDeclaration, CompilationUnitScope) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |