diff --git a/src/language/ASTNodeAffectationExpressionBuilder.cpp b/src/language/ASTNodeAffectationExpressionBuilder.cpp
index afc79af3559b3717a65487c6eeb8e832617a15d0..da39901cba81b76fe72db3652878e1b8f23e8439 100644
--- a/src/language/ASTNodeAffectationExpressionBuilder.cpp
+++ b/src/language/ASTNodeAffectationExpressionBuilder.cpp
@@ -147,8 +147,7 @@ class AffectationProcessor final : public INodeProcessor
   }
 };
 
-void
-set_affectation_processor(Node& n)
+ASTNodeAffectationExpressionBuilder::ASTNodeAffectationExpressionBuilder(Node& n)
 {
   auto set_affectation_processor = [](Node& n, const auto& operator_v) {
     auto set_affectation_processor_for_data = [&](const auto& value, const DataType& data_type) {
diff --git a/src/language/ASTNodeAffectationExpressionBuilder.hpp b/src/language/ASTNodeAffectationExpressionBuilder.hpp
index eb80e6c8a8a2d7c0ecd5a55c26ed68fb4b79fe3a..2495702edf2ff8c3f8f3334d6fb66870237e84dd 100644
--- a/src/language/ASTNodeAffectationExpressionBuilder.hpp
+++ b/src/language/ASTNodeAffectationExpressionBuilder.hpp
@@ -5,7 +5,10 @@
 
 namespace language
 {
-void set_affectation_processor(Node& node);
+struct ASTNodeAffectationExpressionBuilder
+{
+  ASTNodeAffectationExpressionBuilder(Node& node);
+};
 }   // namespace language
 
 #endif   // AST_NODE_AFFECTATION_EXPRESSION_BUILDER_HPP
diff --git a/src/language/ASTNodeExpressionBuilder.cpp b/src/language/ASTNodeExpressionBuilder.cpp
index 1d9dbdf27cae68e18ebde6a62f9090c89afc5c71..1be256c49086ff53e896bd399b9d67dbfaadc0be 100644
--- a/src/language/ASTNodeExpressionBuilder.cpp
+++ b/src/language/ASTNodeExpressionBuilder.cpp
@@ -520,7 +520,7 @@ build_node_type(Node& n)
   } else if ((n.is<language::eq_op>() or n.is<language::multiplyeq_op>() or n.is<language::divideeq_op>() or
               n.is<language::pluseq_op>() or n.is<language::minuseq_op>() or n.is<language::bit_andeq_op>() or
               n.is<language::bit_xoreq_op>() or n.is<language::bit_oreq_op>())) {
-    set_affectation_processor(n);
+    ASTNodeAffectationExpressionBuilder{n};
 
   } else if (n.is<language::real>()) {
     n.m_node_processor = std::make_unique<NoProcess>();