| dispatchTopLevel(BufferedTokenStream, int, int) |   | 82% |   | 60% | 4 | 6 | 3 | 13 | 0 | 1 |
| scanMethodsBlock(BufferedTokenStream, int, Set) |   | 86% |   | 58% | 5 | 7 | 7 | 25 | 0 | 1 |
| headerContainsForTesting(BufferedTokenStream, int, int) |   | 87% |   | 60% | 4 | 6 | 2 | 7 | 0 | 1 |
| skipPastNextPeriod(BufferedTokenStream, int, int) |   | 86% |   | 62% | 3 | 5 | 2 | 7 | 0 | 1 |
| processMethodImpl(BufferedTokenStream, int, int, Set, String) |   | 96% |   | 66% | 2 | 4 | 0 | 8 | 0 | 1 |
| scanDeclAttrs(BufferedTokenStream, int, int, String, Set) |   | 94% |   | 70% | 3 | 6 | 2 | 15 | 0 | 1 |
| scanDefinitionBody(BufferedTokenStream, int, int, Set) |   | 93% |   | 75% | 2 | 5 | 1 | 10 | 0 | 1 |
| skipPastEndclass(BufferedTokenStream, int, int) |   | 92% |   | 50% | 4 | 5 | 1 | 6 | 0 | 1 |
| skipPastEndmethod(BufferedTokenStream, int, int) |   | 92% |   | 50% | 4 | 5 | 1 | 6 | 0 | 1 |
| findMethodTerminator(BufferedTokenStream, int, int) |   | 92% |   | 62% | 3 | 5 | 1 | 5 | 0 | 1 |
| skipOptionalColon(BufferedTokenStream, int, int) |   | 86% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| isDeclListTerminator(int) |   | 84% |   | 50% | 3 | 4 | 0 | 1 | 0 | 1 |
| handleClassImplementation(BufferedTokenStream, int, String) |   | 98% |   | 60% | 4 | 6 | 1 | 13 | 0 | 1 |
| isFollowedBy(BufferedTokenStream, int, int, int) |   | 94% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| handleClassDefinition(BufferedTokenStream, int, String) |  | 100% |   | 50% | 2 | 3 | 0 | 11 | 0 | 1 |
| scan(BufferedTokenStream) |  | 100% |   | 75% | 1 | 3 | 0 | 6 | 0 | 1 |
| isDeclAttrTerminator(int) |  | 100% |   | 75% | 2 | 5 | 0 | 1 | 0 | 1 |
| ABAPTestVisitor() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getDiscoveredMethods() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$handleClassDefinition$0(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |