| 135 | }; |
| 136 | |
| 137 | inline void resolveTreeNodeImpl(PathTree &pathTree, std::string const &path, |
| 138 | OriginalSource &source) { |
| 139 | auto &node = pathTree.getNodeByPath(path); |
| 140 | |
| 141 | // First do any inference possible here. |
| 142 | ifNullTryInferFromParent(node); |
| 143 | |
| 144 | // Now visit. |
| 145 | TreeResolutionVisitor visitor(pathTree, node, source); |
| 146 | boost::apply_visitor(visitor, node.value()); |
| 147 | } |
| 148 | |
| 149 | boost::optional<OriginalSource> resolveTreeNode(PathTree &pathTree, |
| 150 | std::string const &path) { |
no test coverage detected