fixes, refactoring (shorter names, visitor)

This commit is contained in:
ProgramSnail 2024-05-01 14:05:29 +03:00
parent 57b1172a4f
commit f58bfd938c
20 changed files with 564 additions and 764 deletions

View file

@ -124,17 +124,24 @@ private:
size_t indentation_level_ = 0;
};
void print_modifier(const nodes::Modifier &modifier, Printer &printer,
bool const_is_none = false);
void print(const nodes::Modifier &modifier, Printer &printer,
bool const_is_none = false);
void print_literal(const nodes::Literal &literal, Printer &printer);
void print(const nodes::Literal &literal, Printer &printer);
void print_identifier(const nodes::Identifier &identifier, Printer &printer);
void print(const nodes::Identifier &identifier, Printer &printer);
void print_annotation(const std::string &annotation, Printer &printer);
void print_extra(const nodes::Extra &extra, Printer &printer);
void print(const nodes::Extra &extra, Printer &printer);
void print_empty_lines(const nodes::EmptyLines &empty_lines, Printer &printer);
void print(const nodes::EmptyLines &empty_lines, Printer &printer);
template <typename T>
inline void print(const std::vector<T> &nodes, Printer &printer) {
for (const auto &node : nodes) {
print(node, printer);
}
}
} // namespace printers

View file

@ -5,6 +5,6 @@
namespace printers {
void print_docs(const nodes::SymbolDocs &docs, Printer &printer);
void print(const nodes::SymbolDocs &docs, Printer &printer);
} // namespace printers

View file

@ -4,48 +4,41 @@
#include "expression_nodes.hpp"
namespace printers {
void print_expression(const nodes::Expression &expression,
printers::Printer &printer);
void print(const nodes::Expression &expression, printers::Printer &printer);
// --- flow control
void print_case(const nodes::Match::Case &expression, Printer &printer);
void print(const nodes::Match::Case &expression, Printer &printer);
void print_match(const nodes::Match &expression, printers::Printer &printer);
void print(const nodes::Match &expression, printers::Printer &printer);
void print_condition(const nodes::Condition &expression,
printers::Printer &printer);
void print(const nodes::Condition &expression, printers::Printer &printer);
void print_loop(const nodes::Loop &expression, printers::Printer &printer);
void print(const nodes::Loop &expression, printers::Printer &printer);
// --- containers
void print_container(const nodes::Container &expression,
printers::Printer &printer);
void print(const nodes::Container &expression, printers::Printer &printer);
// --- modifiers
void print_return(const nodes::Return &expression, printers::Printer &printer);
void print(const nodes::Return &expression, printers::Printer &printer);
void print_name_definition(const nodes::NameDefinition &expression,
printers::Printer &printer);
void print(const nodes::NameDefinition &expression, printers::Printer &printer);
void print_access(const nodes::Access &expression, printers::Printer &printer);
void print(const nodes::Access &expression, printers::Printer &printer);
void print_loop_control(const nodes::LoopControl &expression,
printers::Printer &printer);
void print(const nodes::LoopControl &expression, printers::Printer &printer);
void print_modifier_expression(const nodes::ModifierExpression &expression,
printers::Printer &printer);
void print(const nodes::ModifierExpression &expression,
printers::Printer &printer);
// --- other
void print_name_expression(const nodes::NameExpression &expression,
printers::Printer &printer);
void print(const nodes::NameExpression &expression, printers::Printer &printer);
void print_constructor(const nodes::Constructor &expression,
printers::Printer &printer);
void print(const nodes::Constructor &expression, printers::Printer &printer);
void print_lambda(const nodes::Lambda &expression, printers::Printer &printer);
void print(const nodes::Lambda &expression, printers::Printer &printer);
} // namespace printers

View file

@ -7,19 +7,17 @@
namespace printers {
void print_source_file(const std::vector<nodes::Statement> &statements,
Printer &printer);
// void print_source_file(const std::vector<nodes::Statement> &statements,
// Printer &printer);
void print_statement(const nodes::Statement &statements, Printer &printer);
void print(const nodes::Statement &statements, Printer &printer);
void print_import(const nodes::Import &statement, Printer &printer);
void print(const nodes::Import &statement, Printer &printer);
void print_constraint(const nodes::Constraint &statement, Printer &printer);
void print(const nodes::Constraint &statement, Printer &printer);
void print_type_definition(const nodes::TypeDefinition &statement,
Printer &printer);
void print(const nodes::TypeDefinition &statement, Printer &printer);
void print_function_definition(const nodes::FunctionDefinition &statement,
Printer &printer);
void print(const nodes::FunctionDefinition &statement, Printer &printer);
} // namespace printers

View file

@ -5,7 +5,7 @@
namespace printers {
void print_type(const nodes::Type &type, printers::Printer &printer);
void print(const nodes::Type &type, printers::Printer &printer);
// void print_tuple_type(const nodes::TupleType &type, printers::Printer
// &printer);