summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-08-22 22:40:46 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-08-22 22:40:46 (GMT)
commit10e6e1db531a682f852b488ba8bf4cbb2f984d88 (patch)
tree1f4b526103d1e6350a0ec09f40ae426344540dee /src
parent9509b795c7493d7b351dc25855a6a82cd392deb1 (diff)
downloaduscxml-10e6e1db531a682f852b488ba8bf4cbb2f984d88.zip
uscxml-10e6e1db531a682f852b488ba8bf4cbb2f984d88.tar.gz
uscxml-10e6e1db531a682f852b488ba8bf4cbb2f984d88.tar.bz2
Spring cleaning of tests
Diffstat (limited to 'src')
-rw-r--r--src/bindings/swig/csharp/uscxml.i2
-rw-r--r--src/bindings/swig/java/uscxml.i2
-rw-r--r--src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp10
3 files changed, 14 insertions, 0 deletions
diff --git a/src/bindings/swig/csharp/uscxml.i b/src/bindings/swig/csharp/uscxml.i
index 5e98544..334a534 100644
--- a/src/bindings/swig/csharp/uscxml.i
+++ b/src/bindings/swig/csharp/uscxml.i
@@ -26,6 +26,7 @@ typedef uscxml::InvokerImpl InvokerImpl;
typedef uscxml::IOProcessorImpl IOProcessorImpl;
typedef uscxml::DataModelImpl DataModelImpl;
typedef uscxml::ExecutableContentImpl ExecutableContentImpl;
+typedef uscxml::InterpreterIssue InterpreterIssue;
%feature("director") uscxml::WrappedInvoker;
%feature("director") uscxml::WrappedDataModel;
@@ -384,6 +385,7 @@ using System.Runtime.InteropServices;
%include "../../../uscxml/concurrency/BlockingQueue.h"
%include "../../../uscxml/server/HTTPServer.h"
//%include "../../../uscxml/debug/DebuggerServlet.h"
+%include "../../../uscxml/debug/InterpreterIssue.h"
%include "../../../uscxml/messages/Blob.h"
%include "../../../uscxml/messages/Data.h"
diff --git a/src/bindings/swig/java/uscxml.i b/src/bindings/swig/java/uscxml.i
index 7f25fc3..22fad3c 100644
--- a/src/bindings/swig/java/uscxml.i
+++ b/src/bindings/swig/java/uscxml.i
@@ -26,6 +26,7 @@ typedef uscxml::InvokerImpl InvokerImpl;
typedef uscxml::IOProcessorImpl IOProcessorImpl;
typedef uscxml::DataModelImpl DataModelImpl;
typedef uscxml::ExecutableContentImpl ExecutableContentImpl;
+typedef uscxml::InterpreterIssue InterpreterIssue;
%feature("director") uscxml::WrappedInvoker;
%feature("director") uscxml::WrappedDataModel;
@@ -412,6 +413,7 @@ import java.util.LinkedList;
%include "../../../uscxml/concurrency/BlockingQueue.h"
%include "../../../uscxml/server/HTTPServer.h"
//%include "../../../uscxml/debug/DebuggerServlet.h"
+%include "../../../uscxml/debug/InterpreterIssue.h"
%include "../../../uscxml/messages/Blob.h"
%include "../../../uscxml/messages/Data.h"
diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
index 6fa56df..8eb1ce1 100644
--- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
@@ -341,6 +341,16 @@ bool LuaDataModel::isLocation(const std::string& expr) {
}
bool LuaDataModel::isValidSyntax(const std::string& expr) {
+ int preStack = lua_gettop(_luaState);
+ int err = luaL_loadstring (_luaState, expr.c_str());
+
+ // clean stack again
+ lua_pop(_luaState, lua_gettop(_luaState) - preStack);
+
+
+ if (err == LUA_ERRSYNTAX)
+ return false;
+
return true;
}