InterpreterIssue.h
Go to the documentation of this file.
1 
21 #ifndef INTERPRETERISSUE_H_962CB305
22 #define INTERPRETERISSUE_H_962CB305
23 
24 #include "uscxml/Common.h"
25 
26 #include <list>
27 
28 // forward declare
29 namespace XERCESC_NS {
30 class DOMNode;
31 }
32 
33 namespace uscxml {
34 
35 class InterpreterImpl;
36 
41 class USCXML_API InterpreterIssue {
42 public:
46  USCXML_ISSUE_INFO
47  };
48 
49  std::string xPath;
50  std::string message;
51  XERCESC_NS::DOMNode* node;
53  std::string specRef;
54 
58  InterpreterIssue(const std::string& msg, XERCESC_NS::DOMNode* node, IssueSeverity severity, const std::string& specRef = "");
59 
60 private:
61 
62  static std::list<InterpreterIssue> forInterpreter(InterpreterImpl* interpreter);
63  friend class Interpreter;
64 };
65 USCXML_API std::ostream& operator<< (std::ostream& os, const InterpreterIssue& issue);
66 
67 }
68 
69 #endif /* end of include guard: INTERPRETERISSUE_H_962CB305 */
Definition: Breakpoint.cpp:26
IssueSeverity severity
Severity of the issue.
Definition: InterpreterIssue.h:52
Identify and report syntactic and semantic problems with a SCXML state-charts.
Definition: InterpreterIssue.h:41
std::string xPath
Where did the issue arise.
Definition: InterpreterIssue.h:49
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:79
XERCESC_NS::DOMNode * node
The DOM node pertaining to the issue.
Definition: InterpreterIssue.h:51
Definition: InterpreterImpl.h:51
Interpreter can not process such a document.
Definition: InterpreterIssue.h:44
Definition: Breakpoint.h:30
Document is questionable, but formally ok.
Definition: InterpreterIssue.h:45
std::string message
What is the issue.
Definition: InterpreterIssue.h:50
IssueSeverity
Definition: InterpreterIssue.h:43
std::string specRef
If applicable, the violated section from the standard.
Definition: InterpreterIssue.h:53