(se ScalarExpression)
| 184 | } |
| 185 | |
| 186 | func (f *fieldExpressionRewriter) rewriteScalarExpression(se ScalarExpression) (ScalarExpression, int) { |
| 187 | switch se := se.(type) { |
| 188 | case Pipeline: |
| 189 | return f.rewritePipeline(se) |
| 190 | case ScalarOperation: |
| 191 | lhs, n1 := f.rewriteScalarExpression(se.LHS) |
| 192 | rhs, n2 := f.rewriteScalarExpression(se.RHS) |
| 193 | return newScalarOperation(se.Op, lhs, rhs), n1 + n2 |
| 194 | case Aggregate: |
| 195 | fe, n := f.rewriteFieldExpression(se.e) |
| 196 | return newAggregate(se.op, fe), n |
| 197 | case Static: |
| 198 | fe, n := f.rewriteFieldExpression(se) |
| 199 | if s, ok := fe.(Static); ok { |
| 200 | return s, n |
| 201 | } |
| 202 | } |
| 203 | return se, 0 |
| 204 | } |
| 205 | |
| 206 | func (f *fieldExpressionRewriter) rewriteFieldExpression(fe FieldExpression) (FieldExpression, int) { |
| 207 | var rwCount int |
no test coverage detected