summaryrefslogtreecommitdiffstats
path: root/src/uscxml/debug
diff options
context:
space:
mode:
authorStefan Radomski <sradomski@mintwerk.de>2016-01-20 16:19:38 (GMT)
committerStefan Radomski <sradomski@mintwerk.de>2016-01-20 16:19:38 (GMT)
commit99457229adecc63246e900b01aee360039e7183d (patch)
tree5c103ab426fa3d27e983a54e481f2336295104ab /src/uscxml/debug
parentb5abd34bfcc07588c7220d094a04dbc5708d344b (diff)
downloaduscxml-99457229adecc63246e900b01aee360039e7183d.zip
uscxml-99457229adecc63246e900b01aee360039e7183d.tar.gz
uscxml-99457229adecc63246e900b01aee360039e7183d.tar.bz2
Added transition-less histories as an issue and completed C transformation
Diffstat (limited to 'src/uscxml/debug')
-rw-r--r--src/uscxml/debug/InterpreterIssue.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/uscxml/debug/InterpreterIssue.cpp b/src/uscxml/debug/InterpreterIssue.cpp
index 7d55f3a..5fb3965 100644
--- a/src/uscxml/debug/InterpreterIssue.cpp
+++ b/src/uscxml/debug/InterpreterIssue.cpp
@@ -302,7 +302,9 @@ std::list<InterpreterIssue> InterpreterIssue::forInterpreter(InterpreterImpl* in
NodeSet<std::string> transitions = InterpreterImpl::filterChildElements(_nsInfo.xmlNSPrefix + "transition", state, false);
if (transitions.size() > 1) {
issues.push_back(InterpreterIssue("History pseudo-state with id '" + stateId + "' has multiple transitions", state, InterpreterIssue::USCXML_ISSUE_FATAL));
- } else if (transitions.size() == 1) {
+ } else if (transitions.size() == 0) {
+ issues.push_back(InterpreterIssue("History pseudo-state with id '" + stateId + "' has no default transition", state, InterpreterIssue::USCXML_ISSUE_FATAL));
+ } else {
Element<std::string> transition = Element<std::string>(transitions[0]);
if (HAS_ATTR(transition, "cond")) {
issues.push_back(InterpreterIssue("Transition in history pseudo-state '" + stateId + "' must not have a condition", transition, InterpreterIssue::USCXML_ISSUE_FATAL));