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