diff --git a/src/language/ASTNodeDataTypeBuilder.cpp b/src/language/ASTNodeDataTypeBuilder.cpp
index 42a2f698e2fdb4e57b2c4510ceb87a10b319bcb9..8e52fddfdd64797f90c039771c6a36b522e01aab 100644
--- a/src/language/ASTNodeDataTypeBuilder.cpp
+++ b/src/language/ASTNodeDataTypeBuilder.cpp
@@ -41,7 +41,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n)
 
         Assert(data_type != ASTNodeDataType::undefined_t);   // LCOV_EXCL_LINE
 
-        type_node.m_data_type      = ASTNodeDataType::void_t;
+        type_node.m_data_type      = ASTNodeDataType::typename_t;
         n.children[1]->m_data_type = data_type;
         const std::string& symbol  = n.children[1]->string();
 
diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp
index da39ea73dd24ac5efd4570d41c4c6f747f63d06b..a39f3f8348c0234997569bfa7596b17cee0ae8ab 100644
--- a/tests/test_ASTNodeDataTypeBuilder.cpp
+++ b/tests/test_ASTNodeDataTypeBuilder.cpp
@@ -133,7 +133,7 @@ for (N i=0; i<3; ++i){
 (root:void)
  `-(language::for_statement:void)
      +-(language::declaration:N)
-     |   +-(language::N_set:void)
+     |   +-(language::N_set:typename)
      |   +-(language::name:i:N)
      |   `-(language::integer:0:Z)
      +-(language::lesser_op:B)
@@ -158,7 +158,7 @@ B b;
     std::string_view result = R"(
 (root:void)
  `-(language::declaration:B)
-     +-(language::B_set:void)
+     +-(language::B_set:typename)
      `-(language::name:b:B)
 )";
 
@@ -174,7 +174,7 @@ N n;
     std::string_view result = R"(
 (root:void)
  `-(language::declaration:N)
-     +-(language::N_set:void)
+     +-(language::N_set:typename)
      `-(language::name:n:N)
 )";
 
@@ -190,7 +190,7 @@ Z z;
     std::string_view result = R"(
 (root:void)
  `-(language::declaration:Z)
-     +-(language::Z_set:void)
+     +-(language::Z_set:typename)
      `-(language::name:z:Z)
 )";
 
@@ -206,7 +206,7 @@ R r;
     std::string_view result = R"(
 (root:void)
  `-(language::declaration:R)
-     +-(language::R_set:void)
+     +-(language::R_set:typename)
      `-(language::name:r:R)
 )";
 
@@ -222,7 +222,7 @@ string s;
     std::string_view result = R"(
 (root:void)
  `-(language::declaration:string)
-     +-(language::string_type:void)
+     +-(language::string_type:typename)
      `-(language::name:s:string)
 )";
 
@@ -267,7 +267,7 @@ a = 1;
     std::string_view result = R"(
 (root:void)
  +-(language::declaration:N)
- |   +-(language::N_set:void)
+ |   +-(language::N_set:typename)
  |   `-(language::name:a:N)
  `-(language::eq_op:N)
      +-(language::name:a:N)
@@ -287,7 +287,7 @@ a *= 1.2;
     std::string_view result = R"(
 (root:void)
  +-(language::declaration:N)
- |   +-(language::N_set:void)
+ |   +-(language::N_set:typename)
  |   +-(language::name:a:N)
  |   `-(language::integer:1:Z)
  `-(language::multiplyeq_op:N)
@@ -308,7 +308,7 @@ a /= 2;
     std::string_view result = R"(
 (root:void)
  +-(language::declaration:R)
- |   +-(language::R_set:void)
+ |   +-(language::R_set:typename)
  |   +-(language::name:a:R)
  |   `-(language::integer:3:Z)
  `-(language::divideeq_op:R)
@@ -329,7 +329,7 @@ a += 2;
     std::string_view result = R"(
 (root:void)
  +-(language::declaration:Z)
- |   +-(language::Z_set:void)
+ |   +-(language::Z_set:typename)
  |   +-(language::name:a:Z)
  |   `-(language::integer:3:Z)
  `-(language::pluseq_op:Z)
@@ -350,7 +350,7 @@ a -= 2;
     std::string_view result = R"(
 (root:void)
  +-(language::declaration:Z)
- |   +-(language::Z_set:void)
+ |   +-(language::Z_set:typename)
  |   +-(language::name:a:Z)
  |   `-(language::integer:1:Z)
  `-(language::minuseq_op:Z)
@@ -389,7 +389,7 @@ for (Z i=0; i<3; i += 1) { i += 2; }
 (root:void)
  `-(language::for_statement:void)
      +-(language::declaration:Z)
-     |   +-(language::Z_set:void)
+     |   +-(language::Z_set:typename)
      |   +-(language::name:i:Z)
      |   `-(language::integer:0:Z)
      +-(language::lesser_op:B)