From 56074d3bd2ab4c8220b67b3da56ff55bbb286bae Mon Sep 17 00:00:00 2001 From: Stefan Radomski Date: Sun, 14 May 2017 13:42:18 +0200 Subject: Beautified code and some light refactoring --- src/uscxml/interpreter/BasicContentExecutor.cpp | 3 +-- src/uscxml/interpreter/ContentExecutorImpl.h | 2 +- src/uscxml/plugins/DataModelImpl.h | 11 +++++++---- src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp | 2 +- test/w3c/lua/test520.scxml.orig | 21 --------------------- 5 files changed, 10 insertions(+), 29 deletions(-) delete mode 100644 test/w3c/lua/test520.scxml.orig diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp index 5defce3..4443237 100644 --- a/src/uscxml/interpreter/BasicContentExecutor.cpp +++ b/src/uscxml/interpreter/BasicContentExecutor.cpp @@ -700,8 +700,7 @@ Data BasicContentExecutor::elementAsData(XERCESC_NS::DOMElement* element, bool a Data d = _callbacks->getAsData(contentSS.str()); if (!d.empty()) return d; - } - catch (ErrorEvent &) { + } catch (ErrorEvent &) { return Data(spaceNormalize(contentSS.str()), Data::VERBATIM); } } diff --git a/src/uscxml/interpreter/ContentExecutorImpl.h b/src/uscxml/interpreter/ContentExecutorImpl.h index 82acc1c..5b39108 100644 --- a/src/uscxml/interpreter/ContentExecutorImpl.h +++ b/src/uscxml/interpreter/ContentExecutorImpl.h @@ -59,7 +59,7 @@ public: uint32_t iteration) = 0; virtual Data evalAsData(const std::string& expr) = 0; - virtual void eval(const std::string& expr) { evalAsData(expr); } + virtual void eval(const std::string& expr) = 0; virtual Data getAsData(const std::string& expr) = 0; virtual void assign(const std::string& location, const Data& data, const std::map& attrs) = 0; diff --git a/src/uscxml/plugins/DataModelImpl.h b/src/uscxml/plugins/DataModelImpl.h index 62453a8..e3db75a 100644 --- a/src/uscxml/plugins/DataModelImpl.h +++ b/src/uscxml/plugins/DataModelImpl.h @@ -173,10 +173,13 @@ public: virtual Data evalAsData(const std::string& content) = 0; /** - * evaluating script content without return - * @param mostly used in script content. - */ - virtual void eval(const std::string& content) { evalAsData(content); } + * Evaluating an expression + * We need an explicit 'eval' function for the LuaDataModel, see issue 118 + * @param expr An expression in the data-model's language. + */ + virtual void eval(const std::string& content) { + evalAsData(content); + } /** * Evaluate a given expression as a boolean. diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp index 8f50729..9dcbc17 100644 --- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp +++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp @@ -82,7 +82,7 @@ static Data getLuaAsData(lua_State* _luaState, const luabridge::LuaRef& lua) { // we are creating __tmpFunc // then it will be assigned to data variable luabridge::setGlobal(_luaState, lua, "__tmpFunc"); - + data.atom = "__tmpFunc"; data.type = Data::INTERPRETED; } else if(lua.isLightUserdata() || lua.isUserdata()) { diff --git a/test/w3c/lua/test520.scxml.orig b/test/w3c/lua/test520.scxml.orig deleted file mode 100644 index 9c91eda..0000000 --- a/test/w3c/lua/test520.scxml.orig +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - this is some content - - - - - - - - - - - - \ No newline at end of file -- cgit v0.12