]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_codesigning/antlr2/antlr/ANTLRException.hpp
Security-59754.41.1.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / antlr2 / antlr / ANTLRException.hpp
1 #ifndef INC_ANTLRException_hpp__
2 #define INC_ANTLRException_hpp__
3
4 /* ANTLR Translator Generator
5 * Project led by Terence Parr at http://www.jGuru.com
6 * Software rights: http://www.antlr.org/license.html
7 *
8 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/ANTLRException.hpp#2 $
9 */
10
11 #include <antlr/config.hpp>
12 #include <string>
13
14 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15 namespace antlr {
16 #endif
17
18 class ANTLR_API ANTLRException
19 {
20 public:
21 /// Create ANTLR base exception without error message
22 ANTLRException() : text("")
23 {
24 }
25 /// Create ANTLR base exception with error message
26 ANTLRException(const ANTLR_USE_NAMESPACE(std)string& s)
27 : text(s)
28 {
29 }
30 virtual ~ANTLRException() _NOEXCEPT
31 {
32 }
33
34 /** Return complete error message with line/column number info (if present)
35 * @note for your own exceptions override this one. Call getMessage from
36 * here to get the 'clean' error message stored in the text attribute.
37 */
38 virtual ANTLR_USE_NAMESPACE(std)string toString() const
39 {
40 return text;
41 }
42
43 /** Return error message without additional info (if present)
44 * @note when making your own exceptions classes override toString
45 * and call in toString getMessage which relays the text attribute
46 * from here.
47 */
48 virtual ANTLR_USE_NAMESPACE(std)string getMessage() const
49 {
50 return text;
51 }
52 private:
53 ANTLR_USE_NAMESPACE(std)string text;
54 };
55 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
56 }
57 #endif
58
59 #endif //INC_ANTLRException_hpp__