| appendClauseExplain(TSearchClause, List, int) |  | 0% |  | 0% | 7 | 7 | 12 | 12 | 1 | 1 |
| buildSqlForExplain() |   | 17% |   | 10% | 5 | 6 | 14 | 16 | 0 | 1 |
| lambda$buildFieldBindingExplainLines$0(List, int) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| buildThriftParam() |   | 76% |   | 75% | 2 | 5 | 8 | 31 | 0 | 1 |
| buildFieldBindingExplainLines() |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| buildDslAstExplainLines() |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| indent(int) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| isExplainVerboseContext() |   | 24% |   | 12% | 4 | 5 | 5 | 8 | 0 | 1 |
| escapeText(String) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| hashCode() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| equals(Object) |   | 79% |   | 50% | 4 | 5 | 3 | 8 | 0 | 1 |
| toSqlImpl() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDslString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getQsPlan() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toThrift(TExprNode) |  | 99% |   | 62% | 6 | 9 | 0 | 24 | 0 | 1 |
| convertQsNodeToThrift(SearchDslParser.QsNode) |  | 100% |   | 90% | 1 | 6 | 0 | 13 | 0 | 1 |
| SearchPredicate(String, SearchDslParser.QsPlan, List) |  | 100% |   | 50% | 1 | 2 | 0 | 7 | 0 | 1 |
| SearchPredicate(SearchPredicate) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| clone() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| toSqlImpl(boolean, boolean, TableIf.TableType, TableIf) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |