leftRecursiveDeep is the transitive closure of leftRecursive. It only returns nil when called with nil.
(expr ast.Node)
| 114 | // leftRecursiveDeep is the transitive closure of leftRecursive. |
| 115 | // It only returns nil when called with nil. |
| 116 | func leftRecursiveDeep(expr ast.Node) ast.Node { |
| 117 | last := expr |
| 118 | left := leftRecursive(expr) |
| 119 | for left != nil { |
| 120 | last = left |
| 121 | left = leftRecursive(last) |
| 122 | } |
| 123 | return last |
| 124 | } |
| 125 | |
| 126 | func openFodder(node ast.Node) *ast.Fodder { |
| 127 | return leftRecursiveDeep(node).OpenFodder() |
no test coverage detected
searching dependent graphs…