(ast *AST, parent NavigableExpr, expr Expr, depth int)
| 267 | } |
| 268 | |
| 269 | func newNavigableExpr(ast *AST, parent NavigableExpr, expr Expr, depth int) NavigableExpr { |
| 270 | // Reduce navigable expression nesting by unwrapping the embedded Expr value. |
| 271 | if nav, ok := expr.(*navigableExprImpl); ok { |
| 272 | expr = nav.Expr |
| 273 | } |
| 274 | nav := &navigableExprImpl{ |
| 275 | Expr: expr, |
| 276 | depth: depth, |
| 277 | ast: ast, |
| 278 | parent: parent, |
| 279 | createChildren: getChildFactory(expr), |
| 280 | } |
| 281 | return nav |
| 282 | } |
| 283 | |
| 284 | type navigableExprImpl struct { |
| 285 | Expr |
no test coverage detected