From af10dfcd40df909b758de667f60eedddc72ed7f3 Mon Sep 17 00:00:00 2001 From: CHatingPython Date: Mon, 1 Jun 2026 21:26:11 +0200 Subject: [PATCH] refactor(parser): organize the includes --- furc/include/furc/front/parser.hpp | 5 +---- furc/src/front/parser.cpp | 6 +++++- furc/src/main.cpp | 1 + furc/test/parser.cpp | 6 ++++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/furc/include/furc/front/parser.hpp b/furc/include/furc/front/parser.hpp index 0e60a96..a2ce903 100644 --- a/furc/include/furc/front/parser.hpp +++ b/furc/include/furc/front/parser.hpp @@ -1,10 +1,7 @@ #ifndef FURC_FRONT_PARSER_HPP #define FURC_FRONT_PARSER_HPP -#include "furc/ast/declaration.hpp" -#include "furc/ast/expression.hpp" -#include "furc/ast/literal.hpp" -#include "furc/ast/program.hpp" +#include "furc/ast/fwd.hpp" #include "furc/front/lexer.hpp" #include "furlang/arena.hpp" diff --git a/furc/src/front/parser.cpp b/furc/src/front/parser.cpp index bd69bf7..4859830 100644 --- a/furc/src/front/parser.cpp +++ b/furc/src/front/parser.cpp @@ -1,6 +1,10 @@ #include "furc/front/parser.hpp" -// #include "furc/ast/declaration.hpp" // IWYU pragma: keep +#include "furc/ast/declaration.hpp" // IWYU pragma: keep +#include "furc/ast/expression.hpp" // IWYU pragma: keep +#include "furc/ast/literal.hpp" // IWYU pragma: keep +#include "furc/ast/program.hpp" // IWYU pragma: keep +#include "furc/ast/statement.hpp" // IWYU pragma: keep #include #include diff --git a/furc/src/main.cpp b/furc/src/main.cpp index af5a313..0ef7b72 100644 --- a/furc/src/main.cpp +++ b/furc/src/main.cpp @@ -1,5 +1,6 @@ #ifndef LIBFURC +#include "furc/ast/program.hpp" #include "furc/front/ir_generator.hpp" #include "furc/front/parser.hpp" diff --git a/furc/test/parser.cpp b/furc/test/parser.cpp index 8c73a42..ece6334 100644 --- a/furc/test/parser.cpp +++ b/furc/test/parser.cpp @@ -1,5 +1,11 @@ #include "furc/front/parser.hpp" +#include "furc/ast/declaration.hpp" // IWYU pragma: keep +#include "furc/ast/expression.hpp" // IWYU pragma: keep +#include "furc/ast/literal.hpp" // IWYU pragma: keep +#include "furc/ast/program.hpp" // IWYU pragma: keep +#include "furc/ast/statement.hpp" // IWYU pragma: keep + #include "gtest/gtest.h" namespace {