diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-08-22 22:40:46 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-08-22 22:40:46 (GMT) |
commit | 10e6e1db531a682f852b488ba8bf4cbb2f984d88 (patch) | |
tree | 1f4b526103d1e6350a0ec09f40ae426344540dee /src | |
parent | 9509b795c7493d7b351dc25855a6a82cd392deb1 (diff) | |
download | uscxml-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.i | 2 | ||||
-rw-r--r-- | src/bindings/swig/java/uscxml.i | 2 | ||||
-rw-r--r-- | src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp | 10 |
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; } |