(ast *AST, parent NavigableExpr, expr Expr, depth int)
| 290 | } |
| 291 | |
| 292 | func newNavigableExpr(ast *AST, parent NavigableExpr, expr Expr, depth int) NavigableExpr { |
| 293 | // Reduce navigable expression nesting by unwrapping the embedded Expr value. |
| 294 | if nav, ok := expr.(*navigableExprImpl); ok { |
| 295 | expr = nav.Expr |
| 296 | } |
| 297 | nav := &navigableExprImpl{ |
| 298 | Expr: expr, |
| 299 | depth: depth, |
| 300 | ast: ast, |
| 301 | parent: parent, |
| 302 | createChildren: getChildFactory(expr), |
| 303 | } |
| 304 | return nav |
| 305 | } |
| 306 | |
| 307 | type navigableExprImpl struct { |
| 308 | Expr |
no test coverage detected