| BuildAstVisitor.java |   | 45% |   | 34% | 93 | 136 | 147 | 313 | 21 | 50 | 1 | 2 |
| AbstractComparison.java |   | 21% |   | 14% | 94 | 112 | 126 | 173 | 5 | 11 | 0 | 1 |
| ASTPrinter.java |  | 0% |  | 0% | 50 | 50 | 69 | 69 | 46 | 46 | 2 | 2 |
| AbstractExpressionVisitor.java |  | 0% |  | 0% | 43 | 43 | 48 | 48 | 40 | 40 | 1 | 1 |
| DynamicContext.java |   | 26% |  | 8% | 25 | 31 | 43 | 62 | 19 | 25 | 2 | 3 |
| AbstractAstVisitor.java |   | 63% |   | 38% | 36 | 84 | 22 | 65 | 25 | 71 | 0 | 1 |
| GeneralComparison.java |  | 4% |  | 0% | 16 | 18 | 35 | 38 | 4 | 6 | 0 | 1 |
| Subtraction.java |  | 0% |  | 0% | 17 | 17 | 38 | 38 | 4 | 4 | 1 | 1 |
| MetapathExpression.java |   | 57% |   | 31% | 13 | 24 | 29 | 72 | 4 | 14 | 0 | 2 |
| Addition.java |   | 22% |   | 16% | 16 | 19 | 29 | 42 | 1 | 4 | 0 | 1 |
| Division.java |  | 0% |  | 0% | 14 | 14 | 31 | 31 | 4 | 4 | 1 | 1 |
| CSTPrinter.java |  | 0% |  | 0% | 12 | 12 | 25 | 25 | 5 | 5 | 1 | 1 |
| Multiplication.java |  | 0% |  | 0% | 12 | 12 | 27 | 27 | 4 | 4 | 1 | 1 |
| ListSequenceImpl.java |  | 0% |  | 0% | 15 | 15 | 16 | 16 | 11 | 11 | 1 | 1 |
| AbstractPathExpression.java |  | 10% |  | 0% | 6 | 9 | 17 | 19 | 4 | 7 | 0 | 1 |
| Predicate.java |   | 55% |   | 37% | 8 | 15 | 13 | 32 | 5 | 11 | 0 | 1 |
| Let.java |  | 0% | | n/a | 7 | 7 | 17 | 17 | 7 | 7 | 1 | 1 |
| StreamSequenceImpl.java |   | 52% |   | 37% | 13 | 19 | 11 | 30 | 6 | 11 | 0 | 1 |
| InvalidTypeMetapathException.java |  | 0% | | n/a | 5 | 5 | 13 | 13 | 5 | 5 | 1 | 1 |
| IntegerDivision.java |  | 0% |  | 0% | 8 | 8 | 15 | 15 | 6 | 6 | 1 | 1 |
| StringConcat.java |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 6 | 6 | 1 | 1 |
| StringLiteral.java |  | 0% |  | 0% | 9 | 9 | 14 | 14 | 6 | 6 | 1 | 1 |
| Modulo.java |  | 0% |  | 0% | 7 | 7 | 12 | 12 | 5 | 5 | 1 | 1 |
| AbstractCodedMetapathException.java |  | 14% | | n/a | 5 | 6 | 9 | 12 | 5 | 6 | 0 | 1 |
| Union.java |  | 0% | | n/a | 5 | 5 | 12 | 12 | 5 | 5 | 1 | 1 |
| VariableReference.java |  | 0% | | n/a | 6 | 6 | 8 | 8 | 6 | 6 | 1 | 1 |
| FunctionCall.java |   | 60% |  | 25% | 6 | 10 | 8 | 21 | 4 | 8 | 0 | 1 |
| Metapath.java |  | 0% | | n/a | 5 | 5 | 10 | 10 | 5 | 5 | 1 | 1 |
| Negate.java |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 5 | 5 | 1 | 1 |
| AbstractFilterExpression.java |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
| ISequence.java |   | 66% |   | 50% | 7 | 21 | 9 | 26 | 3 | 16 | 0 | 2 |
| Step.java |   | 50% | | n/a | 4 | 8 | 4 | 13 | 4 | 8 | 0 | 1 |
| IDocumentLoader.java |  | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| StaticContext.java |   | 71% | | n/a | 4 | 10 | 6 | 23 | 4 | 10 | 0 | 2 |
| RelativeDoubleSlashPath.java |  | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
| Except.java |  | 0% |  | 0% | 5 | 5 | 5 | 5 | 4 | 4 | 1 | 1 |
| ExpressionUtils.java |   | 86% |   | 68% | 10 | 22 | 5 | 51 | 0 | 6 | 0 | 1 |
| Name.java |   | 63% |  | 75% | 4 | 12 | 3 | 14 | 3 | 10 | 0 | 1 |
| Intersect.java |  | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
| Axis.java |   | 87% |   | 50% | 6 | 15 | 4 | 27 | 4 | 13 | 0 | 1 |
| EmptyListImpl.java |  | 31% |  | 16% | 10 | 12 | 7 | 10 | 7 | 9 | 0 | 1 |
| SingletonSequenceImpl.java |   | 65% |   | 50% | 8 | 14 | 6 | 15 | 5 | 11 | 0 | 1 |
| TypeMetapathException.java |  | 0% | | n/a | 4 | 4 | 7 | 7 | 4 | 4 | 1 | 1 |
| DynamicMetapathException.java |  | 0% | | n/a | 4 | 4 | 7 | 7 | 4 | 4 | 1 | 1 |
| StaticMetapathException.java |  | 0% | | n/a | 4 | 4 | 7 | 7 | 4 | 4 | 1 | 1 |
| AbstractLiteralExpression.java |  | 34% | | n/a | 1 | 3 | 1 | 5 | 1 | 3 | 0 | 1 |
| RootDoubleSlashPath.java |  | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| DecimalLiteral.java |  | 0% | | n/a | 4 | 4 | 5 | 5 | 4 | 4 | 1 | 1 |
| AbstractUnaryExpression.java |  | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| IExpression.java |  | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| Flag.java |   | 77% |   | 50% | 4 | 11 | 2 | 17 | 1 | 8 | 0 | 1 |
| ContextItem.java |   | 56% | | 50% | 3 | 8 | 3 | 9 | 2 | 7 | 0 | 1 |
| ModelInstance.java |   | 78% |   | 50% | 3 | 10 | 2 | 17 | 1 | 8 | 0 | 1 |
| MetapathException.java | | 31% | | n/a | 3 | 4 | 6 | 8 | 3 | 4 | 0 | 1 |
| RootSlashOnlyPath.java |  | 75% | | n/a | 3 | 7 | 3 | 9 | 3 | 7 | 0 | 1 |
| AbstractRootPathExpression.java |  | 62% | | n/a | 3 | 5 | 3 | 8 | 3 | 5 | 0 | 1 |
| ValueComparison.java |  | 85% |   | 50% | 3 | 7 | 2 | 12 | 1 | 5 | 0 | 1 |
| Wildcard.java |  | 70% | | n/a | 2 | 7 | 2 | 8 | 2 | 7 | 0 | 1 |
| AbstractRelativePathExpression.java |  | 82% | | n/a | 1 | 6 | 1 | 10 | 1 | 6 | 0 | 1 |
| AbstractBinaryExpression.java |  | 76% | | n/a | 1 | 4 | 1 | 7 | 1 | 4 | 0 | 1 |
| AbstractExpression.java |  | 66% | | 50% | 2 | 4 | 1 | 4 | 1 | 3 | 0 | 1 |
| AbstractBasicArithmeticExpression.java |  | 89% |   | 50% | 3 | 6 | 2 | 11 | 1 | 4 | 0 | 1 |
| Or.java |  | 88% |  | 100% | 1 | 6 | 1 | 13 | 1 | 4 | 0 | 1 |
| RootSlashPath.java |  | 87% | | n/a | 1 | 5 | 1 | 8 | 1 | 5 | 0 | 1 |
| And.java |  | 86% |  | 100% | 1 | 5 | 1 | 11 | 1 | 3 | 0 | 1 |
| RelativeSlashPath.java |  | 77% | | n/a | 1 | 3 | 1 | 5 | 1 | 3 | 0 | 1 |
| IntegerLiteral.java |  | 70% | | n/a | 1 | 4 | 1 | 5 | 1 | 4 | 0 | 1 |
| IBooleanLogicExpression.java | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| AbstractNamedInstanceExpression.java | | 69% | | n/a | 1 | 3 | 1 | 5 | 1 | 3 | 0 | 1 |
| AbstractArithmeticExpression.java |  | 80% | | n/a | 1 | 2 | 1 | 4 | 1 | 2 | 0 | 1 |
| ILiteralExpression.java | | 60% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| IComparison.java |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 0 | 1 |
| MetapathConstants.java |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 | 0 | 1 |
| MetapathEvaluationFeature.java |  | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| FailingErrorListener.java | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| AbstractNAryExpression.java | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |