From 31b05951b8f9af9ed2ec5e837ff791b16d25c8a6 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Thu, 9 Feb 2023 15:19:04 +0100
Subject: [PATCH] using ARMARX_CHECK

---
 .../codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp  | 2 +-
 .../codewriter/cpp/generator/toplevel/ObjectClass.cpp          | 3 +--
 .../aron/core/codegeneration/cpp/AronGeneratedClass.h          | 3 ++-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp b/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
index 41efdfdf1..8876c8905 100644
--- a/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
+++ b/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
@@ -119,7 +119,7 @@ namespace armarx::aron::codegenerator::cpp::generator
             block_if_data->addLine(cppAccessor + nextEl() + "resize(" + dims + ".at(0), " + dims + ".at(1));");
         }
 
-        block_if_data->addLine("assert(" + cppAccessor + nextEl() + "rows() == " + dims + ".at(0) && " + cppAccessor + nextEl() + "cols() == " + dims + ".at(1) && \"Dimensions of member '"+cppAccessor+"' do not match (simox::alg::to_string(dims, ',')). Got (" + cppAccessor + nextEl() + "rows(), " + cppAccessor + nextEl() + "cols()) instead.\");");
+        block_if_data->addLine("ARMARX_CHECK(" + cppAccessor + nextEl() + "rows() == " + dims + ".at(0) and " + cppAccessor + nextEl() + "cols() == " + dims + ".at(1)) << \"Dimensions of member '"+cppAccessor+"' do not match (simox::alg::to_string(dims, ',')). Got (" + cppAccessor + nextEl() + "rows(), " + cppAccessor + nextEl() + "cols()) instead.\";");
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp b/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
index 6fef11afd..24a3b85a1 100644
--- a/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
+++ b/source/RobotAPI/libraries/aron/codegeneration/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
@@ -215,7 +215,7 @@ namespace armarx::aron::codegenerator::cpp::generator
             const auto child_s = FromAronType(*child);
             std::string child_accessor = OBJECT_MEMBERS_ACCESSOR + "_" + key + "_iterator";
             block_if_data->addLine("auto " + child_accessor + " = " + OBJECT_MEMBERS_ACCESSOR + ".find(\"" + key + "\");");
-            block_if_data->addLine("assert(" + child_accessor + " != " + OBJECT_MEMBERS_ACCESSOR + ".end() && \"Missing member '" + key + "' in aron object '" + getFullClassCppTypename() + "'.\");");
+            block_if_data->addLine("ARMARX_CHECK(" + child_accessor + " != " + OBJECT_MEMBERS_ACCESSOR + ".end()) << \"Missing member '" + key + "' in aron object '" + getFullClassCppTypename() + "'.\";");
             block_if_data->appendBlock(child_s->getReadBlock(key, child_accessor + "->second"));
         }
         return block_if_data;
@@ -239,4 +239,3 @@ namespace armarx::aron::codegenerator::cpp::generator
         return block_if_data;
     }
 }
-
diff --git a/source/RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h b/source/RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h
index a076cdc16..8372d89c3 100644
--- a/source/RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h
+++ b/source/RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h
@@ -28,9 +28,10 @@
 #include <string>
 #include <vector>
 #include <map>
-#include <cassert>
 
 // ArmarX
+#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
+
 #include <RobotAPI/libraries/aron/core/Exception.h>
 
 #include <RobotAPI/libraries/aron/core/data/variant/All.h>
-- 
GitLab