#pragma once #include "statement_nodes.hpp" #include "tree_sitter_wrapper.hpp" namespace builders { // IN PROGRESS: return type, etc. void build_source_file(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); // IN PROGRESS: return type, etc. void build_statement(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); nodes::Import build_import(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); nodes::Constraint build_constraint(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); nodes::TypeDefinition build_type_definition(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); nodes::FunctionDefinition build_function_definition(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); nodes::TypeclassDefinition build_typeclass_definition(parser::ParseTree::Node parse_node, nodes::ExpressionStorage &expression_storage, nodes::TypeStorage &type_storage); } // namespace builders