summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp3
-rw-r--r--src/uscxml/interpreter/ContentExecutorImpl.h2
-rw-r--r--src/uscxml/plugins/DataModelImpl.h11
-rw-r--r--src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp2
4 files changed, 10 insertions, 8 deletions
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<std::string, std::string>& 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()) {