Coverage report

| %line | %branch
--- | --- | ---
org.apache.commons.jexl.parser.TokenMgrError |
38% |
89% |

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

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.