| parseSinglePointcut() |   | 73% |   | 78% | 7 | 27 | 20 | 70 | 0 | 1 |
| parseDesignatorPointcut(PointcutDesignatorHandler) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| maybeParseTypeVariableList() |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| parseMonitorPointcut(String) |   | 7% |  | 0% | 1 | 2 | 4 | 5 | 0 | 1 |
| parseTypeVariable() |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| parseAnnotationValues() |   | 72% |   | 78% | 3 | 8 | 3 | 22 | 0 | 1 |
| maybeParsePerClause() |   | 60% |   | 81% | 3 | 9 | 8 | 19 | 0 | 1 |
| parseKindedPointcut(String) |   | 75% |   | 68% | 4 | 9 | 3 | 23 | 0 | 1 |
| checkEof() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| parseDottedIdentifier() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| parsePossibleStringSequence(boolean) |   | 74% |   | 50% | 5 | 7 | 5 | 20 | 0 | 1 |
| parsePointcut(boolean) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| parseStringLiteral() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| maybeParseAdditionalInterfaceBounds() |   | 41% |   | 50% | 2 | 3 | 6 | 10 | 0 | 1 |
| parseMaybeParenthesizedMethodOrConstructorSignaturePattern(boolean) |   | 81% |   | 90% | 1 | 11 | 4 | 17 | 0 | 1 |
| parseIsTypePattern() |   | 89% |   | 96% | 1 | 14 | 3 | 32 | 0 | 1 |
| parsePerTypeWithin() |   | 17% | | n/a | 0 | 1 | 4 | 5 | 0 | 1 |
| parseArgumentsAnnotationPattern() |   | 75% |   | 75% | 2 | 5 | 3 | 13 | 0 | 1 |
| parsePerSingleton() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| parsePerCflow(boolean) |   | 33% | | n/a | 0 | 1 | 3 | 5 | 0 | 1 |
| parsePerObject(boolean) |   | 33% | | n/a | 0 | 1 | 3 | 5 | 0 | 1 |
| parseDeclareAtType() |   | 20% | | n/a | 0 | 1 | 3 | 4 | 0 | 1 |
| peek(String) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| parseErrorOrWarning(boolean) |   | 81% | | n/a | 0 | 1 | 2 | 19 | 0 | 1 |
| parseDeclareAtField() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setAnnotationPatternForTypePattern(TypePattern, AnnotationTypePattern, boolean) |   | 79% |   | 90% | 1 | 6 | 1 | 12 | 0 | 1 |
| parseDeclare() |   | 91% |  | 100% | 0 | 7 | 2 | 24 | 0 | 1 |
| parseSoft() |   | 40% | | n/a | 0 | 1 | 2 | 4 | 0 | 1 |
| parseDeclareAnnotation() |   | 89% |  | 100% | 0 | 5 | 2 | 18 | 0 | 1 |
| parseCompoundFieldSignaturePattern() |   | 85% |   | 66% | 2 | 4 | 2 | 18 | 0 | 1 |
| parseAtAnnotationPointcut() |   | 72% |   | 50% | 1 | 2 | 1 | 7 | 0 | 1 |
| parseWithinCodeAnnotationPointcut() |   | 72% |   | 50% | 1 | 2 | 1 | 7 | 0 | 1 |
| parseWithinCodePointcut() |   | 42% | | n/a | 0 | 1 | 2 | 4 | 0 | 1 |
| setPointcutDesignatorHandlers(Set, World) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| parseMaybeParenthesizedFieldSignaturePattern() |   | 88% |   | 90% | 1 | 6 | 1 | 11 | 0 | 1 |
| PatternParser(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| PatternParser(String, ISourceContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| parseAnnotationPointcut() |   | 93% |  | 100% | 0 | 8 | 1 | 20 | 0 | 1 |
| parseOptionalThrowsPattern() |   | 91% |   | 75% | 2 | 5 | 1 | 13 | 0 | 1 |
| parseModifiersPattern() |   | 90% |   | 75% | 2 | 5 | 1 | 17 | 0 | 1 |
| moreToParse() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| parseAtomicTypePattern(boolean, boolean) |   | 98% |   | 93% | 1 | 9 | 1 | 36 | 0 | 1 |
| parseMethodOrConstructorSignaturePattern() |  | 98% |   | 92% | 1 | 8 | 1 | 32 | 0 | 1 |
| parseSingleTypePattern(boolean) |  | 98% |   | 90% | 3 | 16 | 1 | 28 | 0 | 1 |
| parseAnnotationNameValuePattern() |  | 98% |   | 93% | 2 | 16 | 2 | 29 | 0 | 1 |
| maybeEatNew(TypePattern) |  | 94% |   | 90% | 1 | 6 | 1 | 11 | 0 | 1 |
| assertNoTypeVariables(String[], String, IToken) |  | 88% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| parseDottedNamePattern() |  | 100% |   | 97% | 1 | 21 | 0 | 55 | 0 | 1 |
| maybeParseSingleAnnotationPattern() |  | 100% |  | 100% | 0 | 8 | 0 | 36 | 0 | 1 |
| parseNamePattern() |  | 100% |  | 100% | 0 | 8 | 0 | 22 | 0 | 1 |
| parseAtomicPointcut() |  | 100% |  | 100% | 0 | 4 | 0 | 19 | 0 | 1 |
| parseFieldSignaturePattern() |  | 100% |  | 100% | 0 | 4 | 0 | 16 | 0 | 1 |
| parseReferencePointcut() |  | 100% |  | 100% | 0 | 5 | 0 | 15 | 0 | 1 |
| parseParents() |  | 100% |   | 83% | 1 | 4 | 0 | 13 | 0 | 1 |
| checkLegalName(String, IToken) |  | 100% |  | 100% | 0 | 6 | 0 | 8 | 0 | 1 |
| parseGenericsWildcardTypePattern() |  | 100% |  | 100% | 0 | 3 | 0 | 12 | 0 | 1 |
| parseAnnotationNameOrVarTypePattern() |  | 100% |  | 100% | 0 | 3 | 0 | 12 | 0 | 1 |
| parseArgumentsPattern(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 11 | 0 | 1 |
| maybeParseTypeParameterList() |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| eat(String, String) |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 1 |
| parseSimpleAnnotationName() |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| parseCompoundMethodOrConstructorSignaturePattern(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| parseHasMethodTypePattern() |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| parseHasFieldTypePattern() |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| parseTypePattern(boolean, boolean) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| maybeParseSimpleTypeVariableList() |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| parseThisOrTargetAnnotationPointcut() |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| parseWithinAnnotationPointcut() |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| parsePointcut() |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| maybeParseAnnotationPattern() |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| maybeEatAdjacent(String) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| parseNotOrTypePattern(boolean, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| parseDeclareAtMethod(boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| parseDominates() |  | 100% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
| isEitherAndOrOr() |  | 100% |  | 100% | 0 | 3 | 0 | 2 | 0 | 1 |
| parseThisOrTargetPointcut(String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| maybeEatIdentifier(String) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| PatternParser(ITokenSource) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| parseNotOrPointcut() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| parseCflowPointcut(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| tryToExtractName(TypePattern) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| parseIdentifier() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| eatIdentifier(String) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| maybeEat(String) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| maybeEatIdentifier() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| parseConstructorSignaturePattern() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| nextToken() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| parseWithinPointcut() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| parseArgsAnnotationPointcut() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| isAdjacent(IToken, IToken) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| parseArgsPointcut() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| parseTypePattern() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| eat(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| parseSingleTypePattern() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |