| ExpressionRewrite.java |   | 92% |   | 79% | 24 | 134 | 14 | 331 | 4 | 82 | 0 | 25 | 
| QueryColumnCollector.java |   | 91% |   | 88% | 8 | 40 | 7 | 94 | 3 | 19 | 0 | 2 | 
| ExpressionTraverseListenerMapping.java |   | 32% |  | 0% | 7 | 9 | 7 | 13 | 2 | 4 | 0 | 1 | 
| ExpressionTraverseListenerFactory.java |   | 64% |  | 0% | 3 | 9 | 5 | 19 | 2 | 8 | 0 | 2 | 
| ExpressionRuleExecutor.java |   | 69% |   | 66% | 5 | 11 | 5 | 19 | 4 | 8 | 0 | 1 | 
| ExpressionBottomUpRewriter.java |   | 90% |   | 85% | 5 | 22 | 3 | 46 | 0 | 5 | 0 | 1 | 
| ExpressionPatternRuleFactory.java |  | 95% |  | 100% | 2 | 18 | 0 | 22 | 2 | 16 | 0 | 2 | 
| ExpressionMatchingContext.java |  | 80% |  | 100% | 1 | 4 | 1 | 8 | 1 | 3 | 0 | 1 | 
| ExpressionOptimization.java |  | 95% |  | n/a | 1 | 2 | 2 | 7 | 1 | 2 | 0 | 1 | 
| ExpressionPatternMatcher.java |  | 92% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 | 0 | 1 | 
| ExpressionListenerMatcher.java |  | 90% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 | 0 | 1 | 
| ExpressionTraverseListener.java |  | 50% |  | n/a | 2 | 3 | 2 | 3 | 2 | 3 | 0 | 1 | 
| ExpressionRuleType.java |  | 100% |  | n/a | 0 | 2 | 0 | 42 | 0 | 2 | 0 | 1 | 
| ExpressionNormalization.java |  | 100% |  | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 | 
| ExpressionPatternMatchRule.java |  | 100% |  | 100% | 0 | 12 | 0 | 17 | 0 | 6 | 0 | 1 | 
| ExpressionRewriteContext.java |  | 100% |  | n/a | 0 | 5 | 0 | 15 | 0 | 5 | 0 | 2 | 
| ExpressionNormalizationAndOptimization.java |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 4 | 0 | 1 | 
| NullableDependentExpressionRewrite.java |  | 100% |  | n/a | 0 | 2 | 0 | 6 | 0 | 2 | 0 | 1 | 
| CheckLegalityAfterRewrite.java |  | 100% |  | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 | 
| AbstractExpressionRewriteRule.java |  | 100% |  | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |