| 58 | |
| 59 | template<typename T> |
| 60 | auto child_count(const eval::AST_Node_Impl<T> &node) { |
| 61 | if (node.identifier == AST_Node_Type::Compiled) { |
| 62 | return dynamic_cast<const eval::Compiled_AST_Node<T>&>(node).m_original_node->children.size(); |
| 63 | } else { |
| 64 | return node.children.size(); |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | template<typename T, typename Callable> |
| 69 | auto make_compiled_node(eval::AST_Node_Impl_Ptr<T> original_node, std::vector<eval::AST_Node_Impl_Ptr<T>> children, Callable callable) |
no test coverage detected