MCPcopy
hub / github.com/uber/aresdb / rewriteIsExpr

Function rewriteIsExpr

query/expr/parser.go:272–300  ·  view source on GitHub ↗
(expr Expr)

Source from the content-addressed store, hash-verified

270}
271
272func rewriteIsExpr(expr Expr) (Expr, error) {
273 e, ok := expr.(*BinaryExpr)
274 if !ok {
275 return expr, nil
276 }
277
278 if e.Op == IS {
279 op, err := rewriteIsOp(e.RHS)
280 if err != nil {
281 return nil, err
282 }
283 expr, err := rewriteIsExpr(e.LHS)
284 if err != nil {
285 return nil, err
286 }
287 return &UnaryExpr{Op: op, Expr: expr}, nil
288 }
289
290 var err error
291 e.LHS, err = rewriteIsExpr(e.LHS)
292 if err != nil {
293 return nil, err
294 }
295 e.RHS, err = rewriteIsExpr(e.RHS)
296 if err != nil {
297 return nil, err
298 }
299 return expr, nil
300}
301
302// ParseExpr parses an expression.
303// binOpPrcdncLb: binary operator precedence lower bound.

Callers 1

ParseExprMethod · 0.85

Calls 1

rewriteIsOpFunction · 0.85

Tested by

no test coverage detected