2023-07-24 22:50:18 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "basic_printers.hpp"
|
|
|
|
|
#include "statement_nodes.hpp"
|
|
|
|
|
|
|
|
|
|
namespace printers {
|
|
|
|
|
|
2023-07-25 21:33:57 +03:00
|
|
|
// void print_source_file(Printer &printer); // TODO
|
2023-07-24 22:50:18 +03:00
|
|
|
|
2023-07-25 21:33:57 +03:00
|
|
|
// void print_statement(Printer &printer); // TODO
|
2023-07-24 22:50:18 +03:00
|
|
|
|
|
|
|
|
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
|