##### Coverage Report - org.webmacro.parser.TokenMgrError

Classes in this File | Line Coverage | Branch Coverage | Complexity
TokenMgrError |
0% | 0/35
0% | 0/18
| 3.1666666666666665;3.167

1 |  |
     /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 4.1 */
2 |  |
     /* JavaCCOptions: */
3 |  |
     package org.webmacro.parser;
4 |  |
5 |  |
     /** Token Manager Error. */
6 |  |
     public class TokenMgrError extends Error
7 |  |
     {
8 |  |
         private static final long serialVersionUID = 419637845218887887L;
9 |  |
10 |  |
        /*
11 |  |
         * Ordinals for various reasons why an Error of this type can be thrown.
12 |  |
         */
13 |  |
14 |  |
        /**
15 |  |
         * Lexical error occurred.
16 |  |
         */
17 |  |
        static final int LEXICAL_ERROR = 0;
18 |  |
19 |  |
        /**
20 |  |
         * An attempt was made to create a second instance of a static token manager.
21 |  |
         */
22 |  |
        static final int STATIC_LEXER_ERROR = 1;
23 |  |
24 |  |
        /**
25 |  |
         * Tried to change to an invalid lexical state.
26 |  |
         */
27 |  |
        static final int INVALID_LEXICAL_STATE = 2;
28 |  |
29 |  |
        /**
30 |  |
         * Detected (and bailed out of) an infinite loop in the token manager.
31 |  |
         */
32 |  |
        static final int LOOP_DETECTED = 3;
33 |  |
34 |  |
        /**
35 |  |
         * Indicates the reason why the exception is thrown. It will have
36 |  |
         * one of the above 4 values.
37 |  |
         */
38 |  |
        int errorCode;
39 |  |
40 |  |
        /**
41 |  |
         * Replaces unprintable characters by their escaped (or unicode escaped)
42 |  |
         * equivalents in the given string
43 |  |
         */
44 |  |
        protected static final String addEscapes(String str) {
45 | 0 |
           StringBuffer retval = new StringBuffer();
46 |  |
           char ch;
47 | 0 |
           for (int i = 0; i < str.length(); i++) {
48 | 0 |
             switch (str.charAt(i))
49 |  |
             {
50 |  |
                case 0 :
51 | 0 |
                   continue;
52 |  |
                case '\b':
53 | 0 |
                   retval.append("\\b");
54 | 0 |
                   continue;
55 |  |
                case '\t':
56 | 0 |
                   retval.append("\\t");
57 | 0 |
                   continue;
58 |  |
                case '\n':
59 | 0 |
                   retval.append("\\n");
60 | 0 |
                   continue;
61 |  |
                case '\f':
62 | 0 |
                   retval.append("\\f");
63 | 0 |
                   continue;
64 |  |
                case '\r':
65 | 0 |
                   retval.append("\\r");
66 | 0 |
                   continue;
67 |  |
                case '\"':
68 | 0 |
                   retval.append("\\\"");
69 | 0 |
                   continue;
70 |  |
                case '\'':
71 | 0 |
                   retval.append("\\\'");
72 | 0 |
                   continue;
73 |  |
                case '\\':
74 | 0 |
                   retval.append("\\\\");
75 | 0 |
                   continue;
76 |  |
                default:
77 | 0 |
                   if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
78 | 0 |
                      String s = "0000" + Integer.toString(ch, 16);
79 | 0 |
                      retval.append("\\u" + s.substring(s.length() - 4, s.length()));
80 | 0 |
                   } else {
81 | 0 |
                      retval.append(ch);
82 |  |
                   }
83 |  |
                   continue;
84 |  |
             }
85 |  |
           }
86 | 0 |
           return retval.toString();
87 |  |
        }
88 |  |
89 |  |
        /**
90 |  |
         * Returns a detailed message for the Error when it is thrown by the
91 |  |
         * token manager to indicate a lexical error.
92 |  |
         * Parameters :
93 |  |
         *    EOFSeen     : indicates if EOF caused the lexical error
94 |  |
         *    curLexState : lexical state in which this error occurred
95 |  |
         *    errorLine   : line number when the error occurred
96 |  |
         *    errorColumn : column number when the error occurred
97 |  |
         *    errorAfter  : prefix that was seen before this error occurred
98 |  |
         *    curchar     : the offending character
99 |  |
         * Note: You can customize the lexical error message by modifying this method.
100 |  |
         */
101 |  |
        protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
102 | 0 |
           return("Lexical error at line " +
103 |  |
                errorLine + ", column " +
104 |  |
                errorColumn + ".  Encountered: " +
105 |  |
                (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
106 |  |
                "after : \"" + addEscapes(errorAfter) + "\"");
107 |  |
        }
108 |  |
109 |  |
        /**
110 |  |
         * You can also modify the body of this method to customize your error messages.
111 |  |
         * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
112 |  |
         * of end-users concern, so you can return something like :
113 |  |
         *
114 |  |
         *     "Internal Error : Please file a bug report .... "
115 |  |
         *
116 |  |
         * from this method for such cases in the release version of your parser.
117 |  |
         */
118 |  |
        public String getMessage() {
119 | 0 |
           return super.getMessage();
120 |  |
        }
121 |  |
122 |  |
        /*
123 |  |
         * Constructors of various flavors follow.
124 |  |
         */
125 |  |
126 |  |
        /** No arg constructor. */
127 | 0 |
        public TokenMgrError() {
128 | 0 |
        }
129 |  |
130 |  |
        /** Constructor with message and reason. */
131 |  |
        public TokenMgrError(String message, int reason) {
132 | 0 |
           super(message);
133 | 0 |
           errorCode = reason;
134 | 0 |
        }
135 |  |
136 |  |
        /** Full Constructor. */
137 |  |
        public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
138 | 0 |
           this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
139 | 0 |
        }
140 |  |
     }
141 |  |
     /* JavaCC - OriginalChecksum=704347df73e865ae0e52f827bf72326f (do not edit this line) */