#pragma once #include "basic_printers.hpp" #include "statement_nodes.hpp" #include namespace printers { void print_source_file(const std::vector &statements, Printer &printer); void print_statement(const nodes::Statement &statements, Printer &printer); void print_import(const nodes::Import &statement, Printer &printer); void print_constraint(const nodes::Constraint &statement, Printer &printer); void print_type_definition(const nodes::TypeDefinition &statement, Printer &printer); void print_function_definition(const nodes::FunctionDefinition &statement, Printer &printer); void print_typeclass_definition(const nodes::TypeclassDefinition &statement, Printer &printer); } // namespace printers