From f934b2bdba905b86f8b57a471dc1ef9c1dcd1c49 Mon Sep 17 00:00:00 2001 From: Denis Zubarev Date: Fri, 4 Sep 2026 17:45:02 +0300 Subject: [PATCH 1/3] add missing standard and project includes across compiler --- common/tl/compiler/tl-parser-new.cpp | 4 +++- compiler/code-gen/code-gen-task.cpp | 8 ++++++++ compiler/code-gen/code-gen-task.h | 11 +++++++++-- compiler/code-gen/code-generator.cpp | 7 +++++++ compiler/code-gen/code-generator.h | 7 +++++++ compiler/code-gen/files/function-header.cpp | 9 +++++++++ compiler/code-gen/files/function-header.h | 2 ++ compiler/code-gen/files/function-source.cpp | 9 +++++++++ compiler/code-gen/files/function-source.h | 2 ++ .../files/global-vars-memory-stats.cpp | 14 ++++++++++++++ .../code-gen/files/global-vars-memory-stats.h | 4 ++++ compiler/code-gen/files/init-scripts.cpp | 11 +++++++++++ compiler/code-gen/files/init-scripts.h | 2 ++ compiler/code-gen/files/lib-header.cpp | 7 +++++++ compiler/code-gen/files/lib-header.h | 5 +++++ compiler/code-gen/files/shape-keys.cpp | 2 ++ compiler/code-gen/files/shape-keys.h | 4 +++- .../code-gen/files/tl2cpp/tl-constructor.cpp | 9 +++++++++ .../code-gen/files/tl2cpp/tl-constructor.h | 5 +++++ compiler/code-gen/files/tl2cpp/tl-module.cpp | 9 +++++++++ compiler/code-gen/files/tl2cpp/tl-module.h | 8 ++++++++ compiler/code-gen/includes.cpp | 16 ++++++++++++++++ compiler/code-gen/includes.h | 10 ++++++++++ compiler/cpp-dest-dir-initializer.cpp | 8 ++++++++ compiler/cpp-dest-dir-initializer.h | 2 ++ compiler/data/define-data.cpp | 4 ++++ compiler/data/define-data.h | 5 ++++- compiler/data/ffi-data.cpp | 8 ++++++++ compiler/data/ffi-data.h | 19 +++++++++++++++++++ compiler/data/lib-data.cpp | 4 ++++ compiler/data/performance-inspections.cpp | 6 ++++++ compiler/data/performance-inspections.h | 4 ++++ compiler/data/src-dir.cpp | 4 ++++ compiler/data/var-data.cpp | 3 +++ compiler/data/var-data.h | 6 ++++++ compiler/ffi/c_parser/parsing_driver.cpp | 13 +++++++++---- compiler/ffi/c_parser/parsing_driver.h | 13 ++++++++++--- compiler/ffi/ffi_parser.cpp | 8 ++++++-- compiler/ffi/ffi_parser.h | 4 ++++ compiler/ffi/ffi_types.h | 1 + compiler/function-colors.cpp | 3 +++ compiler/function-colors.h | 5 +++++ compiler/inferring/multi-key.cpp | 1 + compiler/inferring/multi-key.h | 2 ++ compiler/inferring/node.cpp | 3 +++ compiler/inferring/node.h | 3 +++ compiler/inferring/primitive-type.cpp | 4 +++- compiler/inferring/public.cpp | 10 ++++++++++ compiler/inferring/public.h | 2 ++ .../inferring/restriction-match-phpdoc.cpp | 10 +++++++++- compiler/inferring/restriction-match-phpdoc.h | 4 ++++ compiler/inferring/restriction-non-void.cpp | 3 +++ compiler/inferring/restriction-non-void.h | 3 +++ compiler/inferring/type-inferer.cpp | 11 +++++++++++ compiler/inferring/type-inferer.h | 3 +++ compiler/inferring/type-node.h | 5 +++++ compiler/operation.cpp | 4 ++++ compiler/operation.h | 3 ++- compiler/pipes/calc-locations.cpp | 9 +++++++++ compiler/pipes/calc-locations.h | 2 ++ compiler/pipes/calc-val-ref.cpp | 5 +++++ compiler/pipes/calc-val-ref.h | 5 +++++ compiler/pipes/collect-forkable-types.cpp | 10 ++++++++++ compiler/pipes/collect-forkable-types.h | 7 +++++++ compiler/pipes/erase-defines-declarations.cpp | 6 ++++++ compiler/pipes/erase-defines-declarations.h | 5 +++++ compiler/pipes/file-to-tokens.cpp | 5 +++++ compiler/pipes/file-to-tokens.h | 7 +++++++ compiler/pipes/inline-simple-functions.cpp | 8 ++++++++ compiler/pipes/inline-simple-functions.h | 5 +++++ compiler/pipes/load-files.cpp | 4 ++++ compiler/pipes/load-files.h | 3 +++ compiler/pipes/parse.cpp | 6 ++++++ compiler/pipes/parse.h | 7 +++++++ compiler/pipes/register-defines.cpp | 6 ++++++ compiler/pipes/register-defines.h | 5 +++++ compiler/pipes/type-inferer.cpp | 11 ++++++++++- compiler/pipes/type-inferer.h | 6 ++++++ compiler/pipes/wait-for-all-classes.cpp | 10 +++++++++- compiler/pipes/wait-for-all-classes.h | 7 +++++++ compiler/scheduler/one-thread-scheduler.cpp | 2 ++ compiler/scheduler/one-thread-scheduler.h | 4 +++- compiler/scheduler/scheduler.cpp | 8 ++++++++ compiler/scheduler/scheduler.h | 5 ++++- compiler/stats.cpp | 6 +++++- compiler/stats.h | 6 ++++++ compiler/type-hint.cpp | 13 ++++++++++++- compiler/type-hint.h | 8 ++++++++ compiler/utils/string-utils.cpp | 3 +++ compiler/utils/string-utils.h | 5 +++++ tests/cpp/compiler/_compiler-tests-env.cpp | 6 ++++++ .../data/performance-inspections-test.cpp | 6 ++++++ tests/cpp/compiler/ffi-parser-test.cpp | 17 +++++++++++++++-- tests/cpp/compiler/lexer-test.cpp | 11 ++++++++++- tests/cpp/compiler/phpdoc-test.cpp | 6 ++++++ tests/cpp/compiler/typedata-test.cpp | 7 +++++++ .../cpp/compiler/utils/string-utils-test.cpp | 4 ++++ 97 files changed, 586 insertions(+), 26 deletions(-) diff --git a/common/tl/compiler/tl-parser-new.cpp b/common/tl/compiler/tl-parser-new.cpp index 46b214a3c6..a4cf43e53e 100644 --- a/common/tl/compiler/tl-parser-new.cpp +++ b/common/tl/compiler/tl-parser-new.cpp @@ -5,6 +5,7 @@ #include "common/tl/compiler/tl-parser-new.h" #include +#include #include #include #include @@ -13,10 +14,11 @@ #include #include #include +#include #include +#include #include "common/c-tree.h" - #include "common/crc32.h" #include "common/kprintf.h" #include "common/tl/compiler/tl-tl.h" diff --git a/compiler/code-gen/code-gen-task.cpp b/compiler/code-gen/code-gen-task.cpp index d635405895..ece60baaf4 100644 --- a/compiler/code-gen/code-gen-task.cpp +++ b/compiler/code-gen/code-gen-task.cpp @@ -3,7 +3,15 @@ // Distributed under the GPL v3 License, see LICENSE.notice.txt #include "compiler/code-gen/code-gen-task.h" + +#include + #include "compiler/code-gen/code-gen-root-cmd.h" +#include "compiler/stage.h" +#include "compiler/threading/data-stream.h" +#include "compiler/threading/profiler.h" + +class WriterData; // this os exists to be passed to CodeGenerator constructor, // but it won't be used actually, as CodeGenerator is not created in "just calc hashes" mode diff --git a/compiler/code-gen/code-gen-task.h b/compiler/code-gen/code-gen-task.h index 2e630ac852..163db023c0 100644 --- a/compiler/code-gen/code-gen-task.h +++ b/compiler/code-gen/code-gen-task.h @@ -4,14 +4,21 @@ #pragma once +#include +#include + +#include "compiler/code-gen/code-gen-root-cmd.h" #include "compiler/code-gen/code-generator.h" +#include "compiler/scheduler/scheduler-base.h" #include "compiler/scheduler/task.h" #include "compiler/stage.h" #include "compiler/threading/profiler.h" -ProfilerRaw& get_code_gen_profiler(); +class ProfilerRaw; +template +class DataStream; -struct CodeGenRootCmd; +ProfilerRaw& get_code_gen_profiler(); class CodeGenSchedulerTask : public Task { CodeGenerator W; diff --git a/compiler/code-gen/code-generator.cpp b/compiler/code-gen/code-generator.cpp index 6915fdeb1c..bffa1eaef9 100644 --- a/compiler/code-gen/code-generator.cpp +++ b/compiler/code-gen/code-generator.cpp @@ -3,8 +3,15 @@ // Distributed under the GPL v3 License, see LICENSE.notice.txt #include "compiler/code-gen/code-generator.h" + +#include +#include + #include "compiler/compiler-core.h" #include "compiler/data/src-file.h" +#include "compiler/index.h" +#include "compiler/kphp_assert.h" +#include "compiler/threading/data-stream.h" void CodeGenerator::open_file_create_writer(bool compile_with_debug_info_flag, bool compile_with_crc, const std::string& file_name, const std::string& subdir) { std::string full_file_name = G->cpp_dir; diff --git a/compiler/code-gen/code-generator.h b/compiler/code-gen/code-generator.h index be719305a6..466263f7d1 100644 --- a/compiler/code-gen/code-generator.h +++ b/compiler/code-gen/code-generator.h @@ -3,7 +3,10 @@ // Distributed under the GPL v3 License, see LICENSE.notice.txt #pragma once + +#include #include +#include #include #include "common/algorithms/simd-int-to-string.h" @@ -14,7 +17,11 @@ #include "compiler/inferring/type-data.h" #include "compiler/threading/data-stream.h" +class TypeData; +template +class DataStream; struct CGContext { + std::vector catch_labels; std::vector catch_label_used; FunctionPtr parent_func; diff --git a/compiler/code-gen/files/function-header.cpp b/compiler/code-gen/files/function-header.cpp index 7076503ccb..93f68d70a4 100644 --- a/compiler/code-gen/files/function-header.cpp +++ b/compiler/code-gen/files/function-header.cpp @@ -4,6 +4,12 @@ #include "compiler/code-gen/files/function-header.h" +#include +#include +#include +#include + +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/const-globals-batched-mem.h" #include "compiler/code-gen/declarations.h" @@ -11,7 +17,10 @@ #include "compiler/code-gen/includes.h" #include "compiler/code-gen/namespace.h" #include "compiler/code-gen/vertex-compiler.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" #include "compiler/data/function-data.h" +#include "compiler/stage.h" FunctionH::FunctionH(FunctionPtr function) : function(function) {} diff --git a/compiler/code-gen/files/function-header.h b/compiler/code-gen/files/function-header.h index 2a2ef35614..5e06c249f8 100644 --- a/compiler/code-gen/files/function-header.h +++ b/compiler/code-gen/files/function-header.h @@ -8,7 +8,9 @@ #include "compiler/code-gen/code-generator.h" #include "compiler/data/data_ptr.h" +class CodeGenerator; struct FunctionH : CodeGenRootCmd { + FunctionPtr function; explicit FunctionH(FunctionPtr function); void compile(CodeGenerator& W) const final; diff --git a/compiler/code-gen/files/function-source.cpp b/compiler/code-gen/files/function-source.cpp index e13f76116d..0bbeaaaa33 100644 --- a/compiler/code-gen/files/function-source.cpp +++ b/compiler/code-gen/files/function-source.cpp @@ -4,6 +4,12 @@ #include "compiler/code-gen/files/function-source.h" +#include +#include +#include +#include + +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/const-globals-batched-mem.h" #include "compiler/code-gen/declarations.h" @@ -11,6 +17,9 @@ #include "compiler/code-gen/namespace.h" #include "compiler/code-gen/naming.h" #include "compiler/code-gen/vertex-compiler.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/function-data.h" #include "compiler/stage.h" FunctionCpp::FunctionCpp(FunctionPtr function) diff --git a/compiler/code-gen/files/function-source.h b/compiler/code-gen/files/function-source.h index a1f39db48a..7f5bca136b 100644 --- a/compiler/code-gen/files/function-source.h +++ b/compiler/code-gen/files/function-source.h @@ -8,7 +8,9 @@ #include "compiler/code-gen/code-generator.h" #include "compiler/data/data_ptr.h" +class CodeGenerator; struct FunctionCpp : CodeGenRootCmd { + FunctionPtr function; explicit FunctionCpp(FunctionPtr function); void compile(CodeGenerator& W) const final; diff --git a/compiler/code-gen/files/global-vars-memory-stats.cpp b/compiler/code-gen/files/global-vars-memory-stats.cpp index f5fb8022ff..82b522eff5 100644 --- a/compiler/code-gen/files/global-vars-memory-stats.cpp +++ b/compiler/code-gen/files/global-vars-memory-stats.cpp @@ -4,14 +4,28 @@ #include "compiler/code-gen/files/global-vars-memory-stats.h" +#include +#include +#include +#include + +#include "common/algorithms/find.h" +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/const-globals-batched-mem.h" #include "compiler/code-gen/declarations.h" #include "compiler/code-gen/includes.h" #include "compiler/code-gen/namespace.h" +#include "compiler/code-gen/naming.h" #include "compiler/code-gen/raw-data.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/function-data.h" #include "compiler/data/src-file.h" +#include "compiler/data/var-data.h" +#include "compiler/inferring/primitive-type.h" #include "compiler/inferring/public.h" +#include "compiler/inferring/type-data.h" GlobalVarsMemoryStats::GlobalVarsMemoryStats(const std::vector& all_globals) { for (VarPtr global_var : all_globals) { diff --git a/compiler/code-gen/files/global-vars-memory-stats.h b/compiler/code-gen/files/global-vars-memory-stats.h index 16b6ea2ba3..a42aeef01e 100644 --- a/compiler/code-gen/files/global-vars-memory-stats.h +++ b/compiler/code-gen/files/global-vars-memory-stats.h @@ -4,11 +4,15 @@ #pragma once +#include + #include "compiler/code-gen/code-gen-root-cmd.h" #include "compiler/code-gen/code-generator.h" #include "compiler/data/data_ptr.h" +class CodeGenerator; struct GlobalVarsMemoryStats : CodeGenRootCmd { + explicit GlobalVarsMemoryStats(const std::vector& all_globals); void compile(CodeGenerator& W) const final; diff --git a/compiler/code-gen/files/init-scripts.cpp b/compiler/code-gen/files/init-scripts.cpp index 9537f3c602..ba192d4728 100644 --- a/compiler/code-gen/files/init-scripts.cpp +++ b/compiler/code-gen/files/init-scripts.cpp @@ -6,21 +6,32 @@ #include #include +#include +#include #include +#include #include "common/algorithms/string-algorithms.h" +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/const-globals-batched-mem.h" #include "compiler/code-gen/declarations.h" #include "compiler/code-gen/files/shape-keys.h" +#include "compiler/code-gen/gen-out-style.h" #include "compiler/code-gen/includes.h" #include "compiler/code-gen/namespace.h" #include "compiler/code-gen/naming.h" #include "compiler/code-gen/raw-data.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/ffi-data.h" +#include "compiler/data/function-data.h" #include "compiler/data/lib-data.h" #include "compiler/data/src-file.h" +#include "compiler/kphp_assert.h" struct StaticInit { + void compile(CodeGenerator& W) const; }; diff --git a/compiler/code-gen/files/init-scripts.h b/compiler/code-gen/files/init-scripts.h index 0258c33bed..9e2661a681 100644 --- a/compiler/code-gen/files/init-scripts.h +++ b/compiler/code-gen/files/init-scripts.h @@ -10,7 +10,9 @@ #include "compiler/code-gen/code-generator.h" #include "compiler/data/data_ptr.h" +class CodeGenerator; struct InitScriptsCpp : CodeGenRootCmd { + SrcFilePtr main_file_id; explicit InitScriptsCpp(SrcFilePtr main_file_id); void compile(CodeGenerator& W) const final; diff --git a/compiler/code-gen/files/lib-header.cpp b/compiler/code-gen/files/lib-header.cpp index 630bec32ae..ce5a9ac767 100644 --- a/compiler/code-gen/files/lib-header.cpp +++ b/compiler/code-gen/files/lib-header.cpp @@ -4,12 +4,19 @@ #include "compiler/code-gen/files/lib-header.h" +#include +#include + +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/declarations.h" #include "compiler/code-gen/gen-out-style.h" #include "compiler/code-gen/includes.h" #include "compiler/code-gen/namespace.h" +#include "compiler/code-gen/naming.h" #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/function-data.h" #include "compiler/data/lib-data.h" void StaticLibraryRunGlobalHeaderH::compile(CodeGenerator& W) const { diff --git a/compiler/code-gen/files/lib-header.h b/compiler/code-gen/files/lib-header.h index c25c4c8c86..8b6694f444 100644 --- a/compiler/code-gen/files/lib-header.h +++ b/compiler/code-gen/files/lib-header.h @@ -4,10 +4,15 @@ #pragma once +#include + #include "compiler/code-gen/code-gen-root-cmd.h" #include "compiler/code-gen/code-generator.h" +#include "compiler/data/data_ptr.h" +class CodeGenerator; struct StaticLibraryRunGlobalHeaderH : CodeGenRootCmd { + void compile(CodeGenerator& W) const final; }; diff --git a/compiler/code-gen/files/shape-keys.cpp b/compiler/code-gen/files/shape-keys.cpp index f0450b1a40..f2f7e09be0 100644 --- a/compiler/code-gen/files/shape-keys.cpp +++ b/compiler/code-gen/files/shape-keys.cpp @@ -5,12 +5,14 @@ #include "compiler/code-gen/files/shape-keys.h" #include +#include #include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/includes.h" #include "compiler/code-gen/naming.h" #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" std::string ShapeKeys::get_function_name() noexcept { return "init_shape_demangler"; diff --git a/compiler/code-gen/files/shape-keys.h b/compiler/code-gen/files/shape-keys.h index 31c098e84c..e2c6598230 100644 --- a/compiler/code-gen/files/shape-keys.h +++ b/compiler/code-gen/files/shape-keys.h @@ -5,13 +5,15 @@ #pragma once #include +#include #include +#include #include "compiler/code-gen/code-gen-root-cmd.h" class CodeGenerator; - struct ShapeKeys : CodeGenRootCmd { + explicit ShapeKeys(std::map shape_keys_storage) noexcept : shape_keys_storage_(std::move(shape_keys_storage)) {} diff --git a/compiler/code-gen/files/tl2cpp/tl-constructor.cpp b/compiler/code-gen/files/tl2cpp/tl-constructor.cpp index 5d72378d23..5f40edb764 100644 --- a/compiler/code-gen/files/tl2cpp/tl-constructor.cpp +++ b/compiler/code-gen/files/tl2cpp/tl-constructor.cpp @@ -4,9 +4,18 @@ #include "compiler/code-gen/files/tl2cpp/tl-constructor.h" +#include +#include + +#include "common/algorithms/string-algorithms.h" +#include "common/functional/identity.h" +#include "common/tlo-parsing/tl-objects.h" +#include "compiler/code-gen/code-generator.h" +#include "compiler/code-gen/common.h" #include "compiler/code-gen/files/tl2cpp/tl-combinator.h" #include "compiler/code-gen/files/tl2cpp/tl-template-php-type-helpers.h" #include "compiler/code-gen/naming.h" +#include "compiler/compiler-core.h" namespace tl2cpp { const vk::tlo_parsing::combinator* constructor; diff --git a/compiler/code-gen/files/tl2cpp/tl-constructor.h b/compiler/code-gen/files/tl2cpp/tl-constructor.h index 5acb931ebb..9f4cf7653b 100644 --- a/compiler/code-gen/files/tl2cpp/tl-constructor.h +++ b/compiler/code-gen/files/tl2cpp/tl-constructor.h @@ -4,8 +4,13 @@ #pragma once +#include +#include + #include "compiler/code-gen/files/tl2cpp/tl2cpp-utils.h" +class CodeGenerator; + namespace tl2cpp { struct TlConstructorDecl { const vk::tlo_parsing::combinator* constructor; diff --git a/compiler/code-gen/files/tl2cpp/tl-module.cpp b/compiler/code-gen/files/tl2cpp/tl-module.cpp index e8276a8abc..a3661f9490 100644 --- a/compiler/code-gen/files/tl2cpp/tl-module.cpp +++ b/compiler/code-gen/files/tl2cpp/tl-module.cpp @@ -4,9 +4,18 @@ #include "compiler/code-gen/files/tl2cpp/tl-module.h" +#include + +#include "compiler/code-gen/code-generator.h" +#include "compiler/code-gen/common.h" #include "compiler/code-gen/files/tl2cpp/tl-constructor.h" #include "compiler/code-gen/files/tl2cpp/tl-function.h" #include "compiler/code-gen/files/tl2cpp/tl-type.h" +#include "compiler/code-gen/files/tl2cpp/tl2cpp-utils.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/data_ptr.h" +#include "compiler/kphp_assert.h" namespace tl2cpp { std::unordered_map modules; diff --git a/compiler/code-gen/files/tl2cpp/tl-module.h b/compiler/code-gen/files/tl2cpp/tl-module.h index eed2390050..183c885e6b 100644 --- a/compiler/code-gen/files/tl2cpp/tl-module.h +++ b/compiler/code-gen/files/tl2cpp/tl-module.h @@ -4,11 +4,19 @@ #pragma once +#include +#include #include +#include +#include +#include +#include "common/tlo-parsing/tl-objects.h" #include "compiler/code-gen/files/tl2cpp/tl2cpp-utils.h" #include "compiler/code-gen/includes.h" +class CodeGenerator; + namespace tl2cpp { class Module; diff --git a/compiler/code-gen/includes.cpp b/compiler/code-gen/includes.cpp index c17b1cadc8..985c9cba3e 100644 --- a/compiler/code-gen/includes.cpp +++ b/compiler/code-gen/includes.cpp @@ -4,12 +4,28 @@ #include "compiler/code-gen/includes.h" +#include +#include +#include +#include + +#include "auto/compiler/vertex/vertex-op_func_call.h" +#include "auto/compiler/vertex/vertex-op_var.h" +#include "auto/compiler/vertex/vertex-types.h" +#include "compiler/code-gen/code-generator.h" #include "compiler/code-gen/common.h" #include "compiler/code-gen/declarations.h" #include "compiler/code-gen/namespace.h" +#include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" #include "compiler/data/class-data.h" +#include "compiler/data/ffi-data.h" #include "compiler/data/function-data.h" #include "compiler/data/var-data.h" +#include "compiler/inferring/type-data.h" +#include "compiler/inferring/var-node.h" +#include "compiler/kphp_assert.h" +#include "compiler/vertex-meta_op_base.h" ExternInclude::ExternInclude(vk::string_view file_name) : file_name(file_name) { diff --git a/compiler/code-gen/includes.h b/compiler/code-gen/includes.h index 92c4b9b53d..7ceafc099f 100644 --- a/compiler/code-gen/includes.h +++ b/compiler/code-gen/includes.h @@ -4,11 +4,21 @@ #pragma once +#include +#include +#include +#include +#include + #include "compiler/code-gen/code-generator.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/vertex-adaptor.h" #include "compiler/inferring/type-data.h" +class CodeGenerator; +class TypeData; struct ExternInclude { + explicit ExternInclude(vk::string_view file_name); void compile(CodeGenerator& W) const; diff --git a/compiler/cpp-dest-dir-initializer.cpp b/compiler/cpp-dest-dir-initializer.cpp index 029f451327..8c38d6cbe4 100644 --- a/compiler/cpp-dest-dir-initializer.cpp +++ b/compiler/cpp-dest-dir-initializer.cpp @@ -4,7 +4,15 @@ #include "compiler/cpp-dest-dir-initializer.h" +#include + #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/data_ptr.h" +#include "compiler/kphp_assert.h" +#include "compiler/stage.h" +#include "compiler/threading/profiler.h" +#include "compiler/threading/thread-id.h" void CppDestDirInitializer::initialize_sync() noexcept { const char* description = "Init cpp dest dir"; diff --git a/compiler/cpp-dest-dir-initializer.h b/compiler/cpp-dest-dir-initializer.h index 866885706c..0b452d02a8 100644 --- a/compiler/cpp-dest-dir-initializer.h +++ b/compiler/cpp-dest-dir-initializer.h @@ -5,12 +5,14 @@ #pragma once #include +#include #include #include "common/mixin/not_copyable.h" #include "common/smart_ptrs/singleton.h" class CppDestDirInitializer : vk::not_copyable { + public: friend class vk::singleton; diff --git a/compiler/data/define-data.cpp b/compiler/data/define-data.cpp index 9585264cf1..bec5ac2815 100644 --- a/compiler/data/define-data.cpp +++ b/compiler/data/define-data.cpp @@ -4,7 +4,11 @@ #include "compiler/data/define-data.h" +#include + +#include "common/wrappers/string_view.h" #include "compiler/data/class-data.h" +#include "compiler/data/class-members.h" #include "compiler/data/src-file.h" DefineData::DefineData() diff --git a/compiler/data/define-data.h b/compiler/data/define-data.h index dfca3f13f9..84197896b3 100644 --- a/compiler/data/define-data.h +++ b/compiler/data/define-data.h @@ -4,15 +4,18 @@ #pragma once +#include + +#include "auto/compiler/vertex/vertex-types.h" #include "common/algorithms/find.h" #include "common/mixin/not_copyable.h" - #include "compiler/data/class-member-modifiers.h" #include "compiler/data/data_ptr.h" #include "compiler/data/vertex-adaptor.h" #include "compiler/debug.h" class DefineData : private vk::not_copyable { + DEBUG_STRING_METHOD { return name; } diff --git a/compiler/data/ffi-data.cpp b/compiler/data/ffi-data.cpp index 0ebd8bd2f0..f5316f2b7a 100644 --- a/compiler/data/ffi-data.cpp +++ b/compiler/data/ffi-data.cpp @@ -4,8 +4,16 @@ #include "compiler/data/ffi-data.h" +#include "auto/compiler/vertex/vertex-op_func_call.h" #include "common/algorithms/contains.h" +#include "compiler/compiler-core.h" +#include "compiler/data/class-data.h" #include "compiler/data/function-data.h" +#include "compiler/data/vertex-adaptor.h" +#include "compiler/inferring/primitive-type.h" +#include "compiler/inferring/type-data.h" +#include "compiler/operation.h" +#include "compiler/threading/data-stream.h" #include "compiler/type-hint.h" static std::vector make_builtin_types() { diff --git a/compiler/data/ffi-data.h b/compiler/data/ffi-data.h index c1b39ce823..076dd34afc 100644 --- a/compiler/data/ffi-data.h +++ b/compiler/data/ffi-data.h @@ -4,11 +4,30 @@ #pragma once +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include +#include "auto/compiler/vertex/vertex-types.h" #include "compiler/data/class-data.h" +#include "compiler/data/data_ptr.h" #include "compiler/ffi/ffi_types.h" +#include "compiler/kphp_assert.h" +#include "compiler/location.h" + +class TypeHint; +template +class VertexAdaptor; +template +class DataStream; // FFI symbol is an extern variable or function information carrier struct FFISymbol { diff --git a/compiler/data/lib-data.cpp b/compiler/data/lib-data.cpp index c79283e900..00b12bcac1 100644 --- a/compiler/data/lib-data.cpp +++ b/compiler/data/lib-data.cpp @@ -4,8 +4,12 @@ #include "compiler/data/lib-data.h" +#include +#include + #include "common/wrappers/string_view.h" #include "compiler/data/src-file.h" +#include "compiler/kphp_assert.h" #include "compiler/stage.h" namespace { diff --git a/compiler/data/performance-inspections.cpp b/compiler/data/performance-inspections.cpp index 1ae45cc738..3a66ffa089 100644 --- a/compiler/data/performance-inspections.cpp +++ b/compiler/data/performance-inspections.cpp @@ -4,6 +4,12 @@ #include "compiler/data/performance-inspections.h" +#include +#include +#include +#include + +#include "common/wrappers/string_view.h" #include "common/wrappers/to_array.h" #include "compiler/utils/string-utils.h" diff --git a/compiler/data/performance-inspections.h b/compiler/data/performance-inspections.h index 5c01de73e0..29cfe899a4 100644 --- a/compiler/data/performance-inspections.h +++ b/compiler/data/performance-inspections.h @@ -5,11 +5,15 @@ #pragma once #include +#include +#include +#include #include "common/wrappers/string_view.h" #include "compiler/data/data_ptr.h" class PerformanceInspections { + public: enum Inspections : uint8_t { no_inspections = 0, diff --git a/compiler/data/src-dir.cpp b/compiler/data/src-dir.cpp index c7d652921b..f7b5ca49de 100644 --- a/compiler/data/src-dir.cpp +++ b/compiler/data/src-dir.cpp @@ -5,6 +5,10 @@ #include "compiler/data/src-dir.h" #include +#include +#include + +#include "compiler/kphp_assert.h" SrcDir::SrcDir(std::string full_dir_name) : full_dir_name(std::move(full_dir_name)) { diff --git a/compiler/data/var-data.cpp b/compiler/data/var-data.cpp index 622b030640..ee237c97c3 100644 --- a/compiler/data/var-data.cpp +++ b/compiler/data/var-data.cpp @@ -4,7 +4,10 @@ #include "compiler/data/var-data.h" +#include "common/wrappers/string_view.h" #include "compiler/data/class-data.h" +#include "compiler/data/class-members.h" +#include "compiler/kphp_assert.h" #include "compiler/stage.h" VarData::VarData(VarData::Type type_) diff --git a/compiler/data/var-data.h b/compiler/data/var-data.h index 1ec4feae0f..996fdb088d 100644 --- a/compiler/data/var-data.h +++ b/compiler/data/var-data.h @@ -6,12 +6,18 @@ #include #include +#include #include "compiler/data/class-members.h" +#include "compiler/data/data_ptr.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/debug.h" #include "compiler/inferring/var-node.h" +struct ClassMemberInstanceField; +struct ClassMemberStaticField; class VarData { + DEBUG_STRING_METHOD { return as_human_readable(); } diff --git a/compiler/ffi/c_parser/parsing_driver.cpp b/compiler/ffi/c_parser/parsing_driver.cpp index ffd673f046..00f0e691a9 100644 --- a/compiler/ffi/c_parser/parsing_driver.cpp +++ b/compiler/ffi/c_parser/parsing_driver.cpp @@ -4,13 +4,18 @@ #include "compiler/ffi/c_parser/parsing_driver.h" -#include "compiler/kphp_assert.h" +#include +#include +#include +#include +#include +#include "common/algorithms/contains.h" #include "common/algorithms/find.h" #include "common/containers/final_action.h" - -#include -#include +#include "common/wrappers/string_view.h" +#include "compiler/ffi/c_parser/parsing_types.h" +#include "compiler/kphp_assert.h" using namespace ffi; diff --git a/compiler/ffi/c_parser/parsing_driver.h b/compiler/ffi/c_parser/parsing_driver.h index a7185d6326..872bc9fac9 100644 --- a/compiler/ffi/c_parser/parsing_driver.h +++ b/compiler/ffi/c_parser/parsing_driver.h @@ -4,15 +4,22 @@ #pragma once +#include +#include +#include +#include +#include +#include +#include + #include "compiler/ffi/c_parser/lexer.h" +#include "compiler/ffi/c_parser/location.h" #include "compiler/ffi/c_parser/parsing_types.h" +#include "compiler/ffi/c_parser/string-span.h" #include "compiler/ffi/c_parser/types-allocator.h" #include "compiler/ffi/c_parser/yy_parser_generated.hpp" #include "compiler/ffi/ffi_types.h" -#include -#include - namespace ffi { // How to re-generate lexer & parser: diff --git a/compiler/ffi/ffi_parser.cpp b/compiler/ffi/ffi_parser.cpp index df6086c231..db1a52d1b0 100644 --- a/compiler/ffi/ffi_parser.cpp +++ b/compiler/ffi/ffi_parser.cpp @@ -4,12 +4,16 @@ #include "compiler/ffi/ffi_parser.h" +#include +#include +#include + #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/ffi/c_parser/location.h" #include "compiler/ffi/c_parser/parsing_driver.h" #include "compiler/kphp_assert.h" -#include - static void log_ffi_parser_stats(const ffi::ParsingDriver::Result& result) { if (G->settings().verbosity.get() >= 1) { fprintf(stderr, "FFI parser: allocated %ld objects (%ld collected as garbage)\n", static_cast(result.num_allocated), diff --git a/compiler/ffi/ffi_parser.h b/compiler/ffi/ffi_parser.h index 22dbdca849..60cfff6447 100644 --- a/compiler/ffi/ffi_parser.h +++ b/compiler/ffi/ffi_parser.h @@ -5,13 +5,17 @@ #pragma once #include +#include +#include #include #include +#include #include #include "compiler/ffi/ffi_types.h" struct FFIParseError { + std::string message; int line; }; diff --git a/compiler/ffi/ffi_types.h b/compiler/ffi/ffi_types.h index d7127aacbf..49c8da6561 100644 --- a/compiler/ffi/ffi_types.h +++ b/compiler/ffi/ffi_types.h @@ -7,6 +7,7 @@ #include #include #include +#include #include enum class FFITypeKind : uint16_t { diff --git a/compiler/function-colors.cpp b/compiler/function-colors.cpp index 48c33cdc79..ef6e2edd2b 100644 --- a/compiler/function-colors.cpp +++ b/compiler/function-colors.cpp @@ -4,7 +4,10 @@ #include "compiler/function-colors.h" +#include + #include "common/algorithms/string-algorithms.h" +#include "compiler/kphp_assert.h" using namespace function_palette; diff --git a/compiler/function-colors.h b/compiler/function-colors.h index 1cfa89f83d..e34533b51d 100644 --- a/compiler/function-colors.h +++ b/compiler/function-colors.h @@ -4,8 +4,13 @@ #pragma once +#include #include #include +#include +#include +#include +#include #include "common/termformat/termformat.h" #include "compiler/stage.h" diff --git a/compiler/inferring/multi-key.cpp b/compiler/inferring/multi-key.cpp index 3e5702095d..7c3b9f6d2a 100644 --- a/compiler/inferring/multi-key.cpp +++ b/compiler/inferring/multi-key.cpp @@ -5,6 +5,7 @@ #include "compiler/inferring/multi-key.h" #include +#include #include "common/algorithms/string-algorithms.h" diff --git a/compiler/inferring/multi-key.h b/compiler/inferring/multi-key.h index bbc618aab5..67beff23de 100644 --- a/compiler/inferring/multi-key.h +++ b/compiler/inferring/multi-key.h @@ -6,6 +6,7 @@ #include #include +#include #include #include "compiler/debug.h" @@ -13,6 +14,7 @@ #include "compiler/kphp_assert.h" class MultiKey { + DEBUG_STRING_METHOD { return to_string(); } diff --git a/compiler/inferring/node.cpp b/compiler/inferring/node.cpp index 1e86e33b45..174a4aeaae 100644 --- a/compiler/inferring/node.cpp +++ b/compiler/inferring/node.cpp @@ -4,7 +4,10 @@ #include "compiler/inferring/node.h" +#include + #include "compiler/inferring/type-data.h" +#include "compiler/kphp_assert.h" #include "compiler/stage.h" namespace tinf { diff --git a/compiler/inferring/node.h b/compiler/inferring/node.h index 0c4b333484..bf33d274bb 100644 --- a/compiler/inferring/node.h +++ b/compiler/inferring/node.h @@ -8,10 +8,13 @@ #include #include "compiler/debug.h" +#include "compiler/inferring/primitive-type.h" #include "compiler/inferring/type-data.h" #include "compiler/location.h" #include "compiler/threading/locks.h" +class Location; + namespace tinf { class Edge; diff --git a/compiler/inferring/primitive-type.cpp b/compiler/inferring/primitive-type.cpp index 364e99f713..c52d888f4e 100644 --- a/compiler/inferring/primitive-type.cpp +++ b/compiler/inferring/primitive-type.cpp @@ -4,12 +4,14 @@ #include "compiler/inferring/primitive-type.h" +#include #include #include +#include #include "common/algorithms/find.h" - #include "compiler/compiler-core.h" +#include "compiler/kphp_assert.h" #include "compiler/stage.h" const char* ptype_name(PrimitiveType id) { diff --git a/compiler/inferring/public.cpp b/compiler/inferring/public.cpp index 5a20596283..ac3b5b2c65 100644 --- a/compiler/inferring/public.cpp +++ b/compiler/inferring/public.cpp @@ -4,10 +4,20 @@ #include "compiler/inferring/public.h" +#include + #include "compiler/data/function-data.h" #include "compiler/data/var-data.h" +#include "compiler/inferring/expr-node.h" +#include "compiler/inferring/node.h" +#include "compiler/inferring/type-inferer.h" +#include "compiler/inferring/var-node.h" +#include "compiler/kphp_assert.h" +#include "compiler/vertex-meta_op_base.h" #include "compiler/vertex.h" +class TypeData; + namespace tinf { Node* get_tinf_node(FunctionPtr function, int param_i) { diff --git a/compiler/inferring/public.h b/compiler/inferring/public.h index 155541e8da..dc02b5d0cb 100644 --- a/compiler/inferring/public.h +++ b/compiler/inferring/public.h @@ -10,6 +10,8 @@ #include "compiler/inferring/type-data.h" #include "compiler/inferring/type-inferer.h" +class TypeData; + namespace tinf { tinf::Node* get_tinf_node(VertexPtr vertex); diff --git a/compiler/inferring/restriction-match-phpdoc.cpp b/compiler/inferring/restriction-match-phpdoc.cpp index f517b94f4b..7239303ba8 100644 --- a/compiler/inferring/restriction-match-phpdoc.cpp +++ b/compiler/inferring/restriction-match-phpdoc.cpp @@ -4,16 +4,24 @@ #include "compiler/inferring/restriction-match-phpdoc.h" -#include "common/termformat/termformat.h" +#include +#include "common/termformat/termformat.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/function-data.h" #include "compiler/data/var-data.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/inferring/edge.h" #include "compiler/inferring/expr-node.h" +#include "compiler/inferring/multi-key.h" +#include "compiler/inferring/node.h" #include "compiler/inferring/public.h" #include "compiler/inferring/restriction-stacktrace-finder.h" +#include "compiler/inferring/type-data.h" #include "compiler/inferring/type-node.h" #include "compiler/inferring/var-node.h" +#include "compiler/location.h" +#include "compiler/vertex-meta_op_base.h" // see comments in var-node.cpp and collect-main-edges.cpp diff --git a/compiler/inferring/restriction-match-phpdoc.h b/compiler/inferring/restriction-match-phpdoc.h index ac9fe4af14..2039333634 100644 --- a/compiler/inferring/restriction-match-phpdoc.h +++ b/compiler/inferring/restriction-match-phpdoc.h @@ -4,11 +4,15 @@ #pragma once +#include + #include "compiler/inferring/multi-key.h" #include "compiler/inferring/restriction-base.h" #include "compiler/inferring/var-node.h" +class TypeData; class RestrictionMatchPhpdoc : public tinf::RestrictionBase { + tinf::VarNode* restricted_node; tinf::Node* actual_node; const TypeData* expected_type; diff --git a/compiler/inferring/restriction-non-void.cpp b/compiler/inferring/restriction-non-void.cpp index 2738e795b8..ac55a71a02 100644 --- a/compiler/inferring/restriction-non-void.cpp +++ b/compiler/inferring/restriction-non-void.cpp @@ -4,7 +4,10 @@ #include "compiler/inferring/restriction-non-void.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/function-data.h" +#include "compiler/inferring/node.h" +#include "compiler/inferring/primitive-type.h" #include "compiler/inferring/type-data.h" #include "compiler/inferring/var-node.h" diff --git a/compiler/inferring/restriction-non-void.h b/compiler/inferring/restriction-non-void.h index 477e748518..5c2b6124cf 100644 --- a/compiler/inferring/restriction-non-void.h +++ b/compiler/inferring/restriction-non-void.h @@ -4,10 +4,13 @@ #pragma once +#include + #include "compiler/inferring/node.h" #include "compiler/inferring/restriction-base.h" class RestrictionNonVoid : public tinf::RestrictionBase { + tinf::Node* node; public: diff --git a/compiler/inferring/type-inferer.cpp b/compiler/inferring/type-inferer.cpp index faae4a7c0c..5ede6ed830 100644 --- a/compiler/inferring/type-inferer.cpp +++ b/compiler/inferring/type-inferer.cpp @@ -4,12 +4,23 @@ #include "compiler/inferring/type-inferer.h" +#include +#include +#include + #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/function-data.h" #include "compiler/data/src-file.h" #include "compiler/inferring/edge.h" +#include "compiler/inferring/node.h" #include "compiler/inferring/public.h" +#include "compiler/inferring/restriction-base.h" #include "compiler/inferring/restriction-match-phpdoc.h" +#include "compiler/kphp_assert.h" +#include "compiler/scheduler/task.h" +#include "compiler/stage.h" #include "compiler/threading/profiler.h" namespace tinf { diff --git a/compiler/inferring/type-inferer.h b/compiler/inferring/type-inferer.h index f206f4c6b4..8382415932 100644 --- a/compiler/inferring/type-inferer.h +++ b/compiler/inferring/type-inferer.h @@ -5,12 +5,15 @@ #pragma once #include +#include #include "compiler/inferring/node.h" #include "compiler/inferring/restriction-base.h" #include "compiler/scheduler/task.h" #include "compiler/threading/tls.h" +class Task; + namespace tinf { using NodeQueue = std::queue; diff --git a/compiler/inferring/type-node.h b/compiler/inferring/type-node.h index 17fefc9dbe..8431247ff4 100644 --- a/compiler/inferring/type-node.h +++ b/compiler/inferring/type-node.h @@ -4,9 +4,14 @@ #pragma once +#include +#include + #include "compiler/inferring/node.h" #include "compiler/location.h" +class TypeData; + namespace tinf { class TypeNode : public Node { diff --git a/compiler/operation.cpp b/compiler/operation.cpp index 70c9c9a381..1f3bdb72cb 100644 --- a/compiler/operation.cpp +++ b/compiler/operation.cpp @@ -4,6 +4,10 @@ #include "compiler/operation.h" +#include +#include +#include + #include "compiler/vertex.h" inline void OpInfo::add_binary_op(int priority, TokenType tok, Operation op) { diff --git a/compiler/operation.h b/compiler/operation.h index bd1eb2c49e..3bba0e9ab7 100644 --- a/compiler/operation.h +++ b/compiler/operation.h @@ -4,8 +4,9 @@ #pragma once -#include "auto/compiler/vertex/vertex-types.h" +#include +#include "auto/compiler/vertex/vertex-types.h" #include "compiler/token.h" enum OperationExtra { diff --git a/compiler/pipes/calc-locations.cpp b/compiler/pipes/calc-locations.cpp index 9e33393552..fcb20383fb 100644 --- a/compiler/pipes/calc-locations.cpp +++ b/compiler/pipes/calc-locations.cpp @@ -4,8 +4,17 @@ #include "compiler/pipes/calc-locations.h" +#include + +#include "auto/compiler/vertex/vertex-op_var.h" #include "compiler/data/class-data.h" +#include "compiler/data/class-members.h" +#include "compiler/data/data_ptr.h" +#include "compiler/data/function-data.h" #include "compiler/data/var-data.h" +#include "compiler/location.h" +#include "compiler/stage.h" +#include "compiler/vertex-meta_op_base.h" void CalcLocationsPass::on_start() { if (current_function->type == FunctionData::func_class_holder) { diff --git a/compiler/pipes/calc-locations.h b/compiler/pipes/calc-locations.h index fcd0fb6c63..b622bc5e7f 100644 --- a/compiler/pipes/calc-locations.h +++ b/compiler/pipes/calc-locations.h @@ -6,9 +6,11 @@ #include +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" class CalcLocationsPass final : public FunctionPassBase { + public: std::string get_description() override { return "Calc locations"; diff --git a/compiler/pipes/calc-val-ref.cpp b/compiler/pipes/calc-val-ref.cpp index f358f550df..526ecd66e5 100644 --- a/compiler/pipes/calc-val-ref.cpp +++ b/compiler/pipes/calc-val-ref.cpp @@ -4,7 +4,12 @@ #include "compiler/pipes/calc-val-ref.h" +#include + #include "compiler/inferring/public.h" +#include "compiler/inferring/type-data.h" +#include "compiler/operation.h" +#include "compiler/vertex-meta_op_base.h" bool CalcValRefPass::is_allowed_for_getting_val_or_ref(Operation op, bool is_last, bool is_first) { switch (op) { diff --git a/compiler/pipes/calc-val-ref.h b/compiler/pipes/calc-val-ref.h index 8c9b54762e..1852e68bd0 100644 --- a/compiler/pipes/calc-val-ref.h +++ b/compiler/pipes/calc-val-ref.h @@ -4,9 +4,14 @@ #pragma once +#include + +#include "auto/compiler/vertex/vertex-types.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" class CalcValRefPass final : public FunctionPassBase { + bool is_allowed_for_getting_val_or_ref(Operation op, bool is_last, bool is_first); public: diff --git a/compiler/pipes/collect-forkable-types.cpp b/compiler/pipes/collect-forkable-types.cpp index fd920901b6..6700a67b85 100644 --- a/compiler/pipes/collect-forkable-types.cpp +++ b/compiler/pipes/collect-forkable-types.cpp @@ -4,8 +4,18 @@ #include "compiler/pipes/collect-forkable-types.h" +#include +#include +#include + +#include "auto/compiler/vertex/vertex-op_func_call.h" +#include "auto/compiler/vertex/vertex-types.h" #include "common/algorithms/sorting.h" +#include "common/smart_ptrs/singleton.h" +#include "compiler/data/data_ptr.h" +#include "compiler/data/function-data.h" #include "compiler/inferring/public.h" +#include "compiler/inferring/type-data.h" VertexPtr CollectForkableTypesPass::on_enter_vertex(VertexPtr root) { if (auto call = root.try_as()) { diff --git a/compiler/pipes/collect-forkable-types.h b/compiler/pipes/collect-forkable-types.h index 76bc292770..4ac81d141e 100644 --- a/compiler/pipes/collect-forkable-types.h +++ b/compiler/pipes/collect-forkable-types.h @@ -4,11 +4,18 @@ #pragma once +#include +#include +#include + #include "common/mixin/not_copyable.h" #include "common/smart_ptrs/singleton.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" +class TypeData; class CollectForkableTypesPass final : public FunctionPassBase { + public: std::string get_description() final { return "Collect forkable types"; diff --git a/compiler/pipes/erase-defines-declarations.cpp b/compiler/pipes/erase-defines-declarations.cpp index 09310080a0..660921c527 100644 --- a/compiler/pipes/erase-defines-declarations.cpp +++ b/compiler/pipes/erase-defines-declarations.cpp @@ -4,8 +4,14 @@ #include "compiler/pipes/erase-defines-declarations.h" +#include "auto/compiler/vertex/vertex-op_define.h" +#include "auto/compiler/vertex/vertex-op_var.h" +#include "auto/compiler/vertex/vertex-types.h" +#include "compiler/compiler-core.h" #include "compiler/const-manipulations.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/define-data.h" +#include "compiler/operation.h" VertexPtr EraseDefinesDeclarationsPass::on_exit_vertex(VertexPtr root) { // when inside a function: diff --git a/compiler/pipes/erase-defines-declarations.h b/compiler/pipes/erase-defines-declarations.h index 0ade5cfc95..44fad916b6 100644 --- a/compiler/pipes/erase-defines-declarations.h +++ b/compiler/pipes/erase-defines-declarations.h @@ -4,10 +4,15 @@ #pragma once +#include + #include "compiler/data/define-data.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" +#include "compiler/vertex-meta_op_base.h" class EraseDefinesDeclarationsPass final : public FunctionPassBase { + public: std::string get_description() override { return "Erase defines declarations"; diff --git a/compiler/pipes/file-to-tokens.cpp b/compiler/pipes/file-to-tokens.cpp index 1d434017a0..3dc35ea79b 100644 --- a/compiler/pipes/file-to-tokens.cpp +++ b/compiler/pipes/file-to-tokens.cpp @@ -4,10 +4,15 @@ #include "compiler/pipes/file-to-tokens.h" +#include + #include "compiler/data/src-file.h" +#include "compiler/kphp_assert.h" #include "compiler/lexer.h" #include "compiler/stage.h" +#include "compiler/threading/data-stream.h" #include "compiler/threading/profiler.h" +#include "compiler/token.h" void FileToTokensF::execute(SrcFilePtr file, DataStream>>& os) { stage::set_name("Split file to tokens"); diff --git a/compiler/pipes/file-to-tokens.h b/compiler/pipes/file-to-tokens.h index d4e2908bfd..a4ee6efe3a 100644 --- a/compiler/pipes/file-to-tokens.h +++ b/compiler/pipes/file-to-tokens.h @@ -4,11 +4,18 @@ #pragma once +#include +#include + #include "compiler/data/data_ptr.h" #include "compiler/threading/data-stream.h" #include "compiler/token.h" +class Token; +template +class DataStream; class FileToTokensF { + public: void execute(SrcFilePtr file, DataStream>>& os); }; diff --git a/compiler/pipes/inline-simple-functions.cpp b/compiler/pipes/inline-simple-functions.cpp index 699ab3cdf8..14fab8347f 100644 --- a/compiler/pipes/inline-simple-functions.cpp +++ b/compiler/pipes/inline-simple-functions.cpp @@ -4,10 +4,18 @@ #include "compiler/pipes/inline-simple-functions.h" +#include + +#include "auto/compiler/vertex/vertex-op_var.h" +#include "auto/compiler/vertex/vertex-types.h" #include "compiler/data/class-data.h" +#include "compiler/data/function-data.h" +#include "compiler/data/function-modifiers.h" #include "compiler/data/src-file.h" #include "compiler/data/var-data.h" #include "compiler/inferring/public.h" +#include "compiler/inferring/type-data.h" +#include "compiler/vertex-meta_op_base.h" void InlineSimpleFunctions::on_simple_operation() noexcept { if (++n_simple_operations_ > 6) { diff --git a/compiler/pipes/inline-simple-functions.h b/compiler/pipes/inline-simple-functions.h index 1ee410903a..fc3bd89837 100644 --- a/compiler/pipes/inline-simple-functions.h +++ b/compiler/pipes/inline-simple-functions.h @@ -4,9 +4,14 @@ #pragma once +#include + +#include "compiler/data/data_ptr.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" class InlineSimpleFunctions final : public FunctionPassBase { + private: bool inline_is_possible_{true}; int n_simple_operations_{0}; diff --git a/compiler/pipes/load-files.cpp b/compiler/pipes/load-files.cpp index 6c0856adfb..afb504bcae 100644 --- a/compiler/pipes/load-files.cpp +++ b/compiler/pipes/load-files.cpp @@ -4,8 +4,12 @@ #include "compiler/pipes/load-files.h" +#include + #include "compiler/data/src-file.h" +#include "compiler/kphp_assert.h" #include "compiler/stage.h" +#include "compiler/threading/data-stream.h" #include "compiler/threading/profiler.h" void LoadFileF::execute(SrcFilePtr file, DataStream& os) { diff --git a/compiler/pipes/load-files.h b/compiler/pipes/load-files.h index cd0e68f9ce..890ddba094 100644 --- a/compiler/pipes/load-files.h +++ b/compiler/pipes/load-files.h @@ -7,7 +7,10 @@ #include "compiler/data/data_ptr.h" #include "compiler/threading/data-stream.h" +template +class DataStream; class LoadFileF { + public: void execute(SrcFilePtr file, DataStream& os); }; diff --git a/compiler/pipes/parse.cpp b/compiler/pipes/parse.cpp index 122685ac79..1cf43398a6 100644 --- a/compiler/pipes/parse.cpp +++ b/compiler/pipes/parse.cpp @@ -5,6 +5,12 @@ #include "compiler/pipes/parse.h" #include "compiler/gentree.h" +#include "compiler/kphp_assert.h" +#include "compiler/stage.h" +#include "compiler/token.h" + +template +class DataStream; void ParseF::execute(std::pair> file_and_tokens, DataStream& os) { stage::set_name("Parse file"); diff --git a/compiler/pipes/parse.h b/compiler/pipes/parse.h index acd333f94c..6d8070e7ea 100644 --- a/compiler/pipes/parse.h +++ b/compiler/pipes/parse.h @@ -4,11 +4,18 @@ #pragma once +#include +#include + #include "compiler/data/data_ptr.h" #include "compiler/threading/data-stream.h" #include "compiler/token.h" +class Token; +template +class DataStream; class ParseF { + public: void execute(std::pair> file_and_tokens, DataStream& os); }; diff --git a/compiler/pipes/register-defines.cpp b/compiler/pipes/register-defines.cpp index 60ac6b64b1..c3a9011aa7 100644 --- a/compiler/pipes/register-defines.cpp +++ b/compiler/pipes/register-defines.cpp @@ -4,9 +4,15 @@ #include "compiler/pipes/register-defines.h" +#include "auto/compiler/vertex/vertex-op_define.h" +#include "auto/compiler/vertex/vertex-types.h" #include "compiler/compiler-core.h" #include "compiler/data/class-data.h" +#include "compiler/data/data_ptr.h" +#include "compiler/data/function-data.h" #include "compiler/data/src-file.h" +#include "compiler/kphp_assert.h" +#include "compiler/stage.h" VertexPtr RegisterDefinesPass::on_exit_vertex(VertexPtr root) { // 1. an explicit define('name', value) diff --git a/compiler/pipes/register-defines.h b/compiler/pipes/register-defines.h index e0461e1d3f..d6e3fc749f 100644 --- a/compiler/pipes/register-defines.h +++ b/compiler/pipes/register-defines.h @@ -4,10 +4,15 @@ #pragma once +#include + #include "compiler/data/define-data.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/function-pass.h" +#include "compiler/vertex-meta_op_base.h" class RegisterDefinesPass final : public FunctionPassBase { + public: std::string get_description() override { return "Register defines"; diff --git a/compiler/pipes/type-inferer.cpp b/compiler/pipes/type-inferer.cpp index 2f7a3bbbc5..177e59de05 100644 --- a/compiler/pipes/type-inferer.cpp +++ b/compiler/pipes/type-inferer.cpp @@ -2,9 +2,18 @@ // Copyright (c) 2020 LLC «V Kontakte» // Distributed under the GPL v3 License, see LICENSE.notice.txt -#include "compiler/pipes/type-inferer.h" +#include "compiler/inferring/type-inferer.h" + +#include +#include #include "compiler/inferring/public.h" +#include "compiler/pipes/function-and-cfg.h" +#include "compiler/pipes/type-inferer.h" +#include "compiler/scheduler/scheduler-base.h" +#include "compiler/threading/data-stream.h" + +class Task; void TypeInfererF::execute(FunctionAndCFG input, DataStream& os) { os << input; diff --git a/compiler/pipes/type-inferer.h b/compiler/pipes/type-inferer.h index a30239790a..7d5997f9cc 100644 --- a/compiler/pipes/type-inferer.h +++ b/compiler/pipes/type-inferer.h @@ -4,10 +4,16 @@ #pragma once +#include + #include "compiler/pipes/function-and-cfg.h" #include "compiler/threading/data-stream.h" +struct FunctionAndCFG; +template +class DataStream; class TypeInfererF { + public: // don't show on_finish() in profiler, as it does nothing and is just a zero line using need_on_finish_profiler = std::false_type; diff --git a/compiler/pipes/wait-for-all-classes.cpp b/compiler/pipes/wait-for-all-classes.cpp index d4e283c8e4..757588094f 100644 --- a/compiler/pipes/wait-for-all-classes.cpp +++ b/compiler/pipes/wait-for-all-classes.cpp @@ -3,13 +3,21 @@ // Distributed under the GPL v3 License, see LICENSE.notice.txt #include "compiler/pipes/wait-for-all-classes.h" -#include "compiler/pipes/sort-and-inherit-classes.h" + +#include +#include +#include #include "compiler/compiler-core.h" #include "compiler/data/composer-json-data.h" #include "compiler/data/modulite-data.h" #include "compiler/data/src-dir.h" #include "compiler/data/src-file.h" +#include "compiler/pipes/sort-and-inherit-classes.h" +#include "compiler/stage.h" + +template +class DataStream; /* * This is a sync point. When `on_finish()` is called (once, in a single thread), then diff --git a/compiler/pipes/wait-for-all-classes.h b/compiler/pipes/wait-for-all-classes.h index 531ac57f76..fd2c25c0c6 100644 --- a/compiler/pipes/wait-for-all-classes.h +++ b/compiler/pipes/wait-for-all-classes.h @@ -4,12 +4,19 @@ #pragma once +#include +#include + #include "compiler/data/class-data.h" +#include "compiler/data/data_ptr.h" #include "compiler/data/function-data.h" #include "compiler/pipes/sync.h" #include "compiler/threading/data-stream.h" +template +class DataStream; class WaitForAllClassesF final : public SyncPipeF { + using Base = SyncPipeF; public: diff --git a/compiler/scheduler/one-thread-scheduler.cpp b/compiler/scheduler/one-thread-scheduler.cpp index a9193bfadf..5770fff08b 100644 --- a/compiler/scheduler/one-thread-scheduler.cpp +++ b/compiler/scheduler/one-thread-scheduler.cpp @@ -5,7 +5,9 @@ #include "compiler/scheduler/one-thread-scheduler.h" #include +#include +#include "compiler/scheduler/node.h" #include "compiler/scheduler/task-pull.h" #include "compiler/scheduler/task.h" diff --git a/compiler/scheduler/one-thread-scheduler.h b/compiler/scheduler/one-thread-scheduler.h index 7bbb36c2f4..ef057df5f4 100644 --- a/compiler/scheduler/one-thread-scheduler.h +++ b/compiler/scheduler/one-thread-scheduler.h @@ -9,9 +9,11 @@ #include "compiler/scheduler/scheduler-base.h" +class Node; +class Task; class TaskPull; - class OneThreadScheduler : public SchedulerBase { + private: std::vector nodes; std::queue sync_nodes; diff --git a/compiler/scheduler/scheduler.cpp b/compiler/scheduler/scheduler.cpp index db63ace969..54a277112d 100644 --- a/compiler/scheduler/scheduler.cpp +++ b/compiler/scheduler/scheduler.cpp @@ -4,13 +4,21 @@ #include "compiler/scheduler/scheduler.h" +#include +#include +#include +#include +#include #include +#include "compiler/scheduler/node.h" +#include "compiler/scheduler/task-pull.h" #include "compiler/scheduler/task.h" #include "compiler/threading/thread-id.h" #include "compiler/threading/tls.h" class ThreadContext { + public: pthread_t pthread_id; int thread_id; diff --git a/compiler/scheduler/scheduler.h b/compiler/scheduler/scheduler.h index 2766ba2b1f..6735f7623a 100644 --- a/compiler/scheduler/scheduler.h +++ b/compiler/scheduler/scheduler.h @@ -10,9 +10,12 @@ #include "compiler/scheduler/scheduler-base.h" #include "compiler/scheduler/task-pull.h" +class Node; +class Task; +class TaskPull; class ThreadContext; - class Scheduler : public SchedulerBase { + private: std::vector nodes; std::vector one_thread_nodes; diff --git a/compiler/stats.cpp b/compiler/stats.cpp index 250724bf63..835df1c4bf 100644 --- a/compiler/stats.cpp +++ b/compiler/stats.cpp @@ -4,9 +4,13 @@ #include "compiler/stats.h" -#include "common/dl-utils-lite.h" +#include +#include +#include +#include "common/dl-utils-lite.h" #include "compiler/data/function-data.h" +#include "compiler/threading/profiler.h" void Stats::on_var_inserting(VarData::Type type) { switch (type) { diff --git a/compiler/stats.h b/compiler/stats.h index 070c0f15ba..31c2bfa011 100644 --- a/compiler/stats.h +++ b/compiler/stats.h @@ -6,11 +6,17 @@ #include #include +#include +#include +#include +#include "compiler/data/data_ptr.h" #include "compiler/data/var-data.h" #include "compiler/threading/profiler.h" +class ProfilerRaw; class Stats { + public: void on_var_inserting(VarData::Type type); void on_function_processed(FunctionPtr function); diff --git a/compiler/type-hint.cpp b/compiler/type-hint.cpp index 449cfd96d0..7ecf37bdd7 100644 --- a/compiler/type-hint.cpp +++ b/compiler/type-hint.cpp @@ -4,15 +4,26 @@ #include "compiler/type-hint.h" +#include +#include #include +#include "common/algorithms/string-algorithms.h" #include "common/php-functions.h" - +#include "common/wrappers/iterator_range.h" +#include "compiler/compiler-core.h" #include "compiler/data/class-data.h" +#include "compiler/data/class-members.h" #include "compiler/data/ffi-data.h" #include "compiler/data/function-data.h" +#include "compiler/ffi/ffi_types.h" +#include "compiler/inferring/type-data.h" +#include "compiler/kphp_assert.h" #include "compiler/lambda-utils.h" #include "compiler/name-gen.h" +#include "compiler/threading/hash-table.h" +#include "compiler/threading/locks.h" +#include "compiler/utils/string-utils.h" /** * This class stores a big hashtable [hash => TypeHint] diff --git a/compiler/type-hint.h b/compiler/type-hint.h index 2ebdf8f584..e0d2e0f212 100644 --- a/compiler/type-hint.h +++ b/compiler/type-hint.h @@ -4,14 +4,22 @@ #pragma once +#include +#include +#include #include #include +#include #include #include "compiler/compiler-core.h" +#include "compiler/data/data_ptr.h" +#include "compiler/data/vertex-adaptor.h" #include "compiler/debug.h" #include "compiler/inferring/primitive-type.h" +struct FFIType; + // do not confuse TypeHint with TypeData! // TypeData is a part of _type inferring_; it's mutable and plain, it represents current inferred state of every vertex class TypeData; diff --git a/compiler/utils/string-utils.cpp b/compiler/utils/string-utils.cpp index e30a157dc0..417f81d7f8 100644 --- a/compiler/utils/string-utils.cpp +++ b/compiler/utils/string-utils.cpp @@ -4,6 +4,9 @@ #include "compiler/utils/string-utils.h" +#include +#include + // perform "blahBlah" to "blah_blah" translation std::string transform_to_snake_case(vk::string_view origin) noexcept { std::string name; diff --git a/compiler/utils/string-utils.h b/compiler/utils/string-utils.h index 7c0920f586..a9b0dc5c6c 100644 --- a/compiler/utils/string-utils.h +++ b/compiler/utils/string-utils.h @@ -6,7 +6,12 @@ #include #include +#include +#include +#include #include +#include +#include #include #include "common/algorithms/string-algorithms.h" diff --git a/tests/cpp/compiler/_compiler-tests-env.cpp b/tests/cpp/compiler/_compiler-tests-env.cpp index ec9ce33e24..0ac941b0fc 100644 --- a/tests/cpp/compiler/_compiler-tests-env.cpp +++ b/tests/cpp/compiler/_compiler-tests-env.cpp @@ -1,9 +1,15 @@ #include #include "compiler/compiler-core.h" +#include "compiler/compiler-settings.h" +#include "compiler/inferring/multi-key.h" +#include "compiler/inferring/type-data.h" #include "compiler/lexer.h" +#include "compiler/operation.h" +#include "gtest/gtest_pred_impl.h" class CompilerTestsEnvironment final : public testing::Environment { + public: ~CompilerTestsEnvironment() final {} diff --git a/tests/cpp/compiler/data/performance-inspections-test.cpp b/tests/cpp/compiler/data/performance-inspections-test.cpp index ad479b5a34..b43b5dbbe4 100644 --- a/tests/cpp/compiler/data/performance-inspections-test.cpp +++ b/tests/cpp/compiler/data/performance-inspections-test.cpp @@ -1,6 +1,12 @@ +#include +#include #include +#include +#include +#include #include "compiler/data/performance-inspections.h" +#include "gtest/gtest_pred_impl.h" using PI = PerformanceInspections; diff --git a/tests/cpp/compiler/ffi-parser-test.cpp b/tests/cpp/compiler/ffi-parser-test.cpp index ec6669c7a3..927cc5b19d 100644 --- a/tests/cpp/compiler/ffi-parser-test.cpp +++ b/tests/cpp/compiler/ffi-parser-test.cpp @@ -2,11 +2,24 @@ // Copyright (c) 2021 LLC «V Kontakte» // Distributed under the GPL v3 License, see LICENSE.notice.txt +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include -#include "compiler/ffi/ffi_parser.h" -#include "compiler/ffi/c_parser/lexer.h" #include "compiler/data/ffi-data.h" +#include "compiler/ffi/c_parser/lexer.h" +#include "compiler/ffi/c_parser/yy_parser_generated.hpp" +#include "compiler/ffi/ffi_parser.h" +#include "compiler/ffi/ffi_types.h" +#include "gtest/gtest_pred_impl.h" static std::string ffi_test_join_types(const FFIParseResult &parse_result) { std::vector types; diff --git a/tests/cpp/compiler/lexer-test.cpp b/tests/cpp/compiler/lexer-test.cpp index ef2cd8e8b9..511d0d2367 100644 --- a/tests/cpp/compiler/lexer-test.cpp +++ b/tests/cpp/compiler/lexer-test.cpp @@ -1,7 +1,16 @@ +#include +#include +#include #include +#include +#include +#include +#include -#include "compiler/lexer.h" #include "compiler/debug.h" +#include "compiler/lexer.h" +#include "compiler/token.h" +#include "gtest/gtest_pred_impl.h" TEST(lexer_test, test_php_tokens) { std::string debugTokenName(TokenType t); // implemented in debug.cpp diff --git a/tests/cpp/compiler/phpdoc-test.cpp b/tests/cpp/compiler/phpdoc-test.cpp index 4acb4f1480..a04fa3382e 100644 --- a/tests/cpp/compiler/phpdoc-test.cpp +++ b/tests/cpp/compiler/phpdoc-test.cpp @@ -1,6 +1,12 @@ +#include +#include +#include #include +#include +#include #include "compiler/phpdoc.h" +#include "gtest/gtest_pred_impl.h" TEST(phpdoc_test, parse_php_doc) { PhpDocComment doc( diff --git a/tests/cpp/compiler/typedata-test.cpp b/tests/cpp/compiler/typedata-test.cpp index 8c7ee6a537..a93720ac1b 100644 --- a/tests/cpp/compiler/typedata-test.cpp +++ b/tests/cpp/compiler/typedata-test.cpp @@ -1,6 +1,13 @@ +#include +#include #include +#include +#include "compiler/inferring/key.h" +#include "compiler/inferring/multi-key.h" +#include "compiler/inferring/primitive-type.h" #include "compiler/inferring/type-data.h" +#include "gtest/gtest_pred_impl.h" TEST(typedata_test, typedata_human_readable) { auto *td_int = TypeData::get_type(tp_int); diff --git a/tests/cpp/compiler/utils/string-utils-test.cpp b/tests/cpp/compiler/utils/string-utils-test.cpp index 0c5dc2f788..11de368ec3 100644 --- a/tests/cpp/compiler/utils/string-utils-test.cpp +++ b/tests/cpp/compiler/utils/string-utils-test.cpp @@ -1,6 +1,10 @@ +#include +#include #include +#include #include "compiler/utils/string-utils.h" +#include "gtest/gtest_pred_impl.h" TEST(string_utils, snake_case) { ASSERT_EQ(transform_to_snake_case(""), ""); From d7ea0c42d17278204d8de4d21194c825a126f79c Mon Sep 17 00:00:00 2001 From: Denis Zubarev Date: Fri, 4 Sep 2026 17:55:38 +0300 Subject: [PATCH 2/3] fix --- compiler/pipes/type-inferer.cpp | 4 ++-- tests/cpp/compiler/_compiler-tests-env.cpp | 1 - tests/cpp/compiler/data/performance-inspections-test.cpp | 3 --- tests/cpp/compiler/ffi-parser-test.cpp | 3 --- tests/cpp/compiler/lexer-test.cpp | 3 --- tests/cpp/compiler/phpdoc-test.cpp | 3 --- tests/cpp/compiler/typedata-test.cpp | 3 --- tests/cpp/compiler/utils/string-utils-test.cpp | 3 --- 8 files changed, 2 insertions(+), 21 deletions(-) diff --git a/compiler/pipes/type-inferer.cpp b/compiler/pipes/type-inferer.cpp index 177e59de05..eb8f9c3fe5 100644 --- a/compiler/pipes/type-inferer.cpp +++ b/compiler/pipes/type-inferer.cpp @@ -2,14 +2,14 @@ // Copyright (c) 2020 LLC «V Kontakte» // Distributed under the GPL v3 License, see LICENSE.notice.txt -#include "compiler/inferring/type-inferer.h" +#include "compiler/pipes/type-inferer.h" #include #include #include "compiler/inferring/public.h" +#include "compiler/inferring/type-inferer.h" #include "compiler/pipes/function-and-cfg.h" -#include "compiler/pipes/type-inferer.h" #include "compiler/scheduler/scheduler-base.h" #include "compiler/threading/data-stream.h" diff --git a/tests/cpp/compiler/_compiler-tests-env.cpp b/tests/cpp/compiler/_compiler-tests-env.cpp index 0ac941b0fc..e664f38d12 100644 --- a/tests/cpp/compiler/_compiler-tests-env.cpp +++ b/tests/cpp/compiler/_compiler-tests-env.cpp @@ -6,7 +6,6 @@ #include "compiler/inferring/type-data.h" #include "compiler/lexer.h" #include "compiler/operation.h" -#include "gtest/gtest_pred_impl.h" class CompilerTestsEnvironment final : public testing::Environment { diff --git a/tests/cpp/compiler/data/performance-inspections-test.cpp b/tests/cpp/compiler/data/performance-inspections-test.cpp index b43b5dbbe4..786b8c0c49 100644 --- a/tests/cpp/compiler/data/performance-inspections-test.cpp +++ b/tests/cpp/compiler/data/performance-inspections-test.cpp @@ -1,12 +1,9 @@ -#include -#include #include #include #include #include #include "compiler/data/performance-inspections.h" -#include "gtest/gtest_pred_impl.h" using PI = PerformanceInspections; diff --git a/tests/cpp/compiler/ffi-parser-test.cpp b/tests/cpp/compiler/ffi-parser-test.cpp index 927cc5b19d..5de93ffcae 100644 --- a/tests/cpp/compiler/ffi-parser-test.cpp +++ b/tests/cpp/compiler/ffi-parser-test.cpp @@ -3,8 +3,6 @@ // Distributed under the GPL v3 License, see LICENSE.notice.txt #include -#include -#include #include #include #include @@ -19,7 +17,6 @@ #include "compiler/ffi/c_parser/yy_parser_generated.hpp" #include "compiler/ffi/ffi_parser.h" #include "compiler/ffi/ffi_types.h" -#include "gtest/gtest_pred_impl.h" static std::string ffi_test_join_types(const FFIParseResult &parse_result) { std::vector types; diff --git a/tests/cpp/compiler/lexer-test.cpp b/tests/cpp/compiler/lexer-test.cpp index 511d0d2367..7b94cf72c0 100644 --- a/tests/cpp/compiler/lexer-test.cpp +++ b/tests/cpp/compiler/lexer-test.cpp @@ -1,6 +1,4 @@ #include -#include -#include #include #include #include @@ -10,7 +8,6 @@ #include "compiler/debug.h" #include "compiler/lexer.h" #include "compiler/token.h" -#include "gtest/gtest_pred_impl.h" TEST(lexer_test, test_php_tokens) { std::string debugTokenName(TokenType t); // implemented in debug.cpp diff --git a/tests/cpp/compiler/phpdoc-test.cpp b/tests/cpp/compiler/phpdoc-test.cpp index a04fa3382e..0c1800ffd5 100644 --- a/tests/cpp/compiler/phpdoc-test.cpp +++ b/tests/cpp/compiler/phpdoc-test.cpp @@ -1,12 +1,9 @@ #include -#include -#include #include #include #include #include "compiler/phpdoc.h" -#include "gtest/gtest_pred_impl.h" TEST(phpdoc_test, parse_php_doc) { PhpDocComment doc( diff --git a/tests/cpp/compiler/typedata-test.cpp b/tests/cpp/compiler/typedata-test.cpp index a93720ac1b..2806cebd20 100644 --- a/tests/cpp/compiler/typedata-test.cpp +++ b/tests/cpp/compiler/typedata-test.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include @@ -7,7 +5,6 @@ #include "compiler/inferring/multi-key.h" #include "compiler/inferring/primitive-type.h" #include "compiler/inferring/type-data.h" -#include "gtest/gtest_pred_impl.h" TEST(typedata_test, typedata_human_readable) { auto *td_int = TypeData::get_type(tp_int); diff --git a/tests/cpp/compiler/utils/string-utils-test.cpp b/tests/cpp/compiler/utils/string-utils-test.cpp index 11de368ec3..31e07fdaf8 100644 --- a/tests/cpp/compiler/utils/string-utils-test.cpp +++ b/tests/cpp/compiler/utils/string-utils-test.cpp @@ -1,10 +1,7 @@ -#include -#include #include #include #include "compiler/utils/string-utils.h" -#include "gtest/gtest_pred_impl.h" TEST(string_utils, snake_case) { ASSERT_EQ(transform_to_snake_case(""), ""); From 422654aec7b42d38452673b616930831f77c715a Mon Sep 17 00:00:00 2001 From: Denis Zubarev Date: Fri, 4 Sep 2026 18:16:16 +0300 Subject: [PATCH 3/3] delete unused include --- compiler/data/ffi-data.h | 1 - 1 file changed, 1 deletion(-) diff --git a/compiler/data/ffi-data.h b/compiler/data/ffi-data.h index 076dd34afc..c95845b765 100644 --- a/compiler/data/ffi-data.h +++ b/compiler/data/ffi-data.h @@ -5,7 +5,6 @@ #pragma once #include -#include #include #include #include