(se SpansetExpression)
| 161 | } |
| 162 | |
| 163 | func (f *fieldExpressionRewriter) rewriteSpansetExpression(se SpansetExpression) (SpansetExpression, int) { |
| 164 | switch se := se.(type) { |
| 165 | case *SpansetFilter: |
| 166 | if se == nil { |
| 167 | return se, 0 |
| 168 | } |
| 169 | fe, n := f.rewriteFieldExpression(se.Expression) |
| 170 | return newSpansetFilter(fe), n |
| 171 | case ScalarFilter: |
| 172 | lhs, n1 := f.rewriteScalarExpression(se.LHS) |
| 173 | rhs, n2 := f.rewriteScalarExpression(se.RHS) |
| 174 | return newScalarFilter(se.Op, lhs, rhs), n1 + n2 |
| 175 | case SpansetOperation: |
| 176 | lhs, n1 := f.rewriteSpansetExpression(se.LHS) |
| 177 | rhs, n2 := f.rewriteSpansetExpression(se.RHS) |
| 178 | return newSpansetOperation(se.Op, lhs, rhs), n1 + n2 |
| 179 | case Pipeline: |
| 180 | return f.rewritePipeline(se) |
| 181 | } |
| 182 | |
| 183 | return se, 0 |
| 184 | } |
| 185 | |
| 186 | func (f *fieldExpressionRewriter) rewriteScalarExpression(se ScalarExpression) (ScalarExpression, int) { |
| 187 | switch se := se.(type) { |
no test coverage detected