| readAndStripComments(Reader, HintFile) |   | 91% |   | 76% | 8 | 26 | 5 | 102 | 0 | 1 |
| buildRule(HintFile, List, int) |   | 93% |   | 86% | 8 | 30 | 3 | 96 | 0 | 1 |
| parseMetadata(HintFile, String, int) |   | 92% |   | 84% | 5 | 21 | 3 | 44 | 0 | 1 |
| looksLikeDeclaration(String) |   | 90% |   | 58% | 9 | 13 | 2 | 19 | 0 | 1 |
| parse(String) |   | 66% |  | 100% | 0 | 3 | 2 | 5 | 0 | 1 |
| buildAstNodeTypeMap() |   | 85% |   | 80% | 2 | 6 | 2 | 11 | 0 | 1 |
| parseMapDirective(String, String, int) |   | 94% |   | 66% | 6 | 10 | 2 | 24 | 0 | 1 |
| parseForeachDirective(String, String, int) |   | 93% |   | 71% | 4 | 8 | 2 | 22 | 0 | 1 |
| parseTreeKindDirective(HintFile, String, int) |   | 90% |   | 75% | 3 | 7 | 2 | 16 | 0 | 1 |
| isValidJavaIdentifier(String) |   | 80% |   | 60% | 4 | 6 | 3 | 8 | 0 | 1 |
| parseRule(HintFile, List, int) |  | 97% |   | 92% | 1 | 8 | 1 | 25 | 0 | 1 |
| isFixFunctionReference(String) |  | 91% |   | 66% | 2 | 4 | 1 | 6 | 0 | 1 |
| parse(Reader) |  | 100% |   | 91% | 1 | 7 | 0 | 27 | 0 | 1 |
| looksLikeMethodDeclaration(String) |  | 100% |   | 87% | 2 | 9 | 0 | 15 | 0 | 1 |
| splitGuard(String) |  | 100% |  | 100% | 0 | 10 | 0 | 16 | 0 | 1 |
| splitForeachEntries(String) |  | 100% |   | 91% | 1 | 7 | 0 | 14 | 0 | 1 |
| expandForeachRule(HintFile, List, String, int) |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| expandMapRule(HintFile, List, String, int) |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| inferPatternKind(String) |  | 100% |   | 90% | 2 | 11 | 0 | 18 | 0 | 1 |
| findForeachVariable(List) |  | 100% |   | 87% | 1 | 5 | 0 | 7 | 0 | 1 |
| findMapVariable(List) |  | 100% |   | 87% | 1 | 5 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| HintFileParser() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getAstNodeTypeMap() |  | 100% |   | 75% | 1 | 3 | 0 | 6 | 0 | 1 |