This file is indexed.

/usr/share/doc/libcobertura-java/api/src-html/net/sourceforge/cobertura/javancss/parser/debug/ParseException.html is in libcobertura-java-doc 1.9.4.1+dfsg-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
<HTML>
<BODY BGCOLOR="white">
<PRE>
<FONT color="green">001</FONT>    /*<a name="line.1"></a>
<FONT color="green">002</FONT>     * Cobertura - http://cobertura.sourceforge.net/<a name="line.2"></a>
<FONT color="green">003</FONT>     *<a name="line.3"></a>
<FONT color="green">004</FONT>     * This file was taken from JavaNCSS<a name="line.4"></a>
<FONT color="green">005</FONT>     * http://www.kclee.com/clemens/java/javancss/<a name="line.5"></a>
<FONT color="green">006</FONT>     * Copyright (C) 2000 Chr. Clemens Lee &lt;clemens a.t kclee d.o.t com&gt;<a name="line.6"></a>
<FONT color="green">007</FONT>     *<a name="line.7"></a>
<FONT color="green">008</FONT>     * Cobertura is free software; you can redistribute it and/or modify<a name="line.8"></a>
<FONT color="green">009</FONT>     * it under the terms of the GNU General Public License as published<a name="line.9"></a>
<FONT color="green">010</FONT>     * by the Free Software Foundation; either version 2 of the License,<a name="line.10"></a>
<FONT color="green">011</FONT>     * or (at your option) any later version.<a name="line.11"></a>
<FONT color="green">012</FONT>     *<a name="line.12"></a>
<FONT color="green">013</FONT>     * Cobertura is distributed in the hope that it will be useful, but<a name="line.13"></a>
<FONT color="green">014</FONT>     * WITHOUT ANY WARRANTY; without even the implied warranty of<a name="line.14"></a>
<FONT color="green">015</FONT>     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<a name="line.15"></a>
<FONT color="green">016</FONT>     * General Public License for more details.<a name="line.16"></a>
<FONT color="green">017</FONT>     *<a name="line.17"></a>
<FONT color="green">018</FONT>     * You should have received a copy of the GNU General Public License<a name="line.18"></a>
<FONT color="green">019</FONT>     * along with Cobertura; if not, write to the Free Software<a name="line.19"></a>
<FONT color="green">020</FONT>     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307<a name="line.20"></a>
<FONT color="green">021</FONT>     * USA<a name="line.21"></a>
<FONT color="green">022</FONT>     */<a name="line.22"></a>
<FONT color="green">023</FONT>    <a name="line.23"></a>
<FONT color="green">024</FONT>    <a name="line.24"></a>
<FONT color="green">025</FONT>    /*<a name="line.25"></a>
<FONT color="green">026</FONT>     *<a name="line.26"></a>
<FONT color="green">027</FONT>     * WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING  <a name="line.27"></a>
<FONT color="green">028</FONT>     *<a name="line.28"></a>
<FONT color="green">029</FONT>     * WARNING TO COBERTURA DEVELOPERS<a name="line.29"></a>
<FONT color="green">030</FONT>     *<a name="line.30"></a>
<FONT color="green">031</FONT>     * DO NOT MODIFY THIS FILE!<a name="line.31"></a>
<FONT color="green">032</FONT>     *<a name="line.32"></a>
<FONT color="green">033</FONT>     * MODIFY THE FILES UNDER THE JAVANCSS DIRECTORY LOCATED AT THE ROOT OF THE COBERTURA PROJECT.<a name="line.33"></a>
<FONT color="green">034</FONT>     *<a name="line.34"></a>
<FONT color="green">035</FONT>     * FOLLOW THE PROCEDURE FOR MERGING THE LATEST JAVANCSS INTO COBERTURA LOCATED AT<a name="line.35"></a>
<FONT color="green">036</FONT>     * javancss/coberturaREADME.txt<a name="line.36"></a>
<FONT color="green">037</FONT>     *<a name="line.37"></a>
<FONT color="green">038</FONT>     * WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   <a name="line.38"></a>
<FONT color="green">039</FONT>     */<a name="line.39"></a>
<FONT color="green">040</FONT>    /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 4.1 */<a name="line.40"></a>
<FONT color="green">041</FONT>    /* JavaCCOptions:KEEP_LINE_COL=null */<a name="line.41"></a>
<FONT color="green">042</FONT>    //cobertura - put the import on its own line - otherwise, it messes up the script that changes the package.<a name="line.42"></a>
<FONT color="green">043</FONT>    package net.sourceforge.cobertura.javancss.parser.debug;<a name="line.43"></a>
<FONT color="green">044</FONT>    <a name="line.44"></a>
<FONT color="green">045</FONT>    /**<a name="line.45"></a>
<FONT color="green">046</FONT>     * This exception is thrown when parse errors are encountered.<a name="line.46"></a>
<FONT color="green">047</FONT>     * You can explicitly create objects of this exception type by<a name="line.47"></a>
<FONT color="green">048</FONT>     * calling the method generateParseException in the generated<a name="line.48"></a>
<FONT color="green">049</FONT>     * parser.<a name="line.49"></a>
<FONT color="green">050</FONT>     *<a name="line.50"></a>
<FONT color="green">051</FONT>     * You can modify this class to customize your error reporting<a name="line.51"></a>
<FONT color="green">052</FONT>     * mechanisms so long as you retain the public fields.<a name="line.52"></a>
<FONT color="green">053</FONT>     */<a name="line.53"></a>
<FONT color="green">054</FONT>    public class ParseException extends Exception {<a name="line.54"></a>
<FONT color="green">055</FONT>    <a name="line.55"></a>
<FONT color="green">056</FONT>      /**<a name="line.56"></a>
<FONT color="green">057</FONT>       * This constructor is used by the method "generateParseException"<a name="line.57"></a>
<FONT color="green">058</FONT>       * in the generated parser.  Calling this constructor generates<a name="line.58"></a>
<FONT color="green">059</FONT>       * a new object of this type with the fields "currentToken",<a name="line.59"></a>
<FONT color="green">060</FONT>       * "expectedTokenSequences", and "tokenImage" set.  The boolean<a name="line.60"></a>
<FONT color="green">061</FONT>       * flag "specialConstructor" is also set to true to indicate that<a name="line.61"></a>
<FONT color="green">062</FONT>       * this constructor was used to create this object.<a name="line.62"></a>
<FONT color="green">063</FONT>       * This constructor calls its super class with the empty string<a name="line.63"></a>
<FONT color="green">064</FONT>       * to force the "toString" method of parent class "Throwable" to<a name="line.64"></a>
<FONT color="green">065</FONT>       * print the error message in the form:<a name="line.65"></a>
<FONT color="green">066</FONT>       *     ParseException: &lt;result of getMessage&gt;<a name="line.66"></a>
<FONT color="green">067</FONT>       */<a name="line.67"></a>
<FONT color="green">068</FONT>      public ParseException(Token currentTokenVal,<a name="line.68"></a>
<FONT color="green">069</FONT>                            int[][] expectedTokenSequencesVal,<a name="line.69"></a>
<FONT color="green">070</FONT>                            String[] tokenImageVal<a name="line.70"></a>
<FONT color="green">071</FONT>                           )<a name="line.71"></a>
<FONT color="green">072</FONT>      {<a name="line.72"></a>
<FONT color="green">073</FONT>        super("");<a name="line.73"></a>
<FONT color="green">074</FONT>        specialConstructor = true;<a name="line.74"></a>
<FONT color="green">075</FONT>        currentToken = currentTokenVal;<a name="line.75"></a>
<FONT color="green">076</FONT>        expectedTokenSequences = expectedTokenSequencesVal;<a name="line.76"></a>
<FONT color="green">077</FONT>        tokenImage = tokenImageVal;<a name="line.77"></a>
<FONT color="green">078</FONT>      }<a name="line.78"></a>
<FONT color="green">079</FONT>    <a name="line.79"></a>
<FONT color="green">080</FONT>      /**<a name="line.80"></a>
<FONT color="green">081</FONT>       * The following constructors are for use by you for whatever<a name="line.81"></a>
<FONT color="green">082</FONT>       * purpose you can think of.  Constructing the exception in this<a name="line.82"></a>
<FONT color="green">083</FONT>       * manner makes the exception behave in the normal way - i.e., as<a name="line.83"></a>
<FONT color="green">084</FONT>       * documented in the class "Throwable".  The fields "errorToken",<a name="line.84"></a>
<FONT color="green">085</FONT>       * "expectedTokenSequences", and "tokenImage" do not contain<a name="line.85"></a>
<FONT color="green">086</FONT>       * relevant information.  The JavaCC generated code does not use<a name="line.86"></a>
<FONT color="green">087</FONT>       * these constructors.<a name="line.87"></a>
<FONT color="green">088</FONT>       */<a name="line.88"></a>
<FONT color="green">089</FONT>    <a name="line.89"></a>
<FONT color="green">090</FONT>      public ParseException() {<a name="line.90"></a>
<FONT color="green">091</FONT>        super();<a name="line.91"></a>
<FONT color="green">092</FONT>        specialConstructor = false;<a name="line.92"></a>
<FONT color="green">093</FONT>      }<a name="line.93"></a>
<FONT color="green">094</FONT>    <a name="line.94"></a>
<FONT color="green">095</FONT>      /** Constructor with message. */<a name="line.95"></a>
<FONT color="green">096</FONT>      public ParseException(String message) {<a name="line.96"></a>
<FONT color="green">097</FONT>        super(message);<a name="line.97"></a>
<FONT color="green">098</FONT>        specialConstructor = false;<a name="line.98"></a>
<FONT color="green">099</FONT>      }<a name="line.99"></a>
<FONT color="green">100</FONT>    <a name="line.100"></a>
<FONT color="green">101</FONT>      /**<a name="line.101"></a>
<FONT color="green">102</FONT>       * This variable determines which constructor was used to create<a name="line.102"></a>
<FONT color="green">103</FONT>       * this object and thereby affects the semantics of the<a name="line.103"></a>
<FONT color="green">104</FONT>       * "getMessage" method (see below).<a name="line.104"></a>
<FONT color="green">105</FONT>       */<a name="line.105"></a>
<FONT color="green">106</FONT>      protected boolean specialConstructor;<a name="line.106"></a>
<FONT color="green">107</FONT>    <a name="line.107"></a>
<FONT color="green">108</FONT>      /**<a name="line.108"></a>
<FONT color="green">109</FONT>       * This is the last token that has been consumed successfully.  If<a name="line.109"></a>
<FONT color="green">110</FONT>       * this object has been created due to a parse error, the token<a name="line.110"></a>
<FONT color="green">111</FONT>       * followng this token will (therefore) be the first error token.<a name="line.111"></a>
<FONT color="green">112</FONT>       */<a name="line.112"></a>
<FONT color="green">113</FONT>      public Token currentToken;<a name="line.113"></a>
<FONT color="green">114</FONT>    <a name="line.114"></a>
<FONT color="green">115</FONT>      /**<a name="line.115"></a>
<FONT color="green">116</FONT>       * Each entry in this array is an array of integers.  Each array<a name="line.116"></a>
<FONT color="green">117</FONT>       * of integers represents a sequence of tokens (by their ordinal<a name="line.117"></a>
<FONT color="green">118</FONT>       * values) that is expected at this point of the parse.<a name="line.118"></a>
<FONT color="green">119</FONT>       */<a name="line.119"></a>
<FONT color="green">120</FONT>      public int[][] expectedTokenSequences;<a name="line.120"></a>
<FONT color="green">121</FONT>    <a name="line.121"></a>
<FONT color="green">122</FONT>      /**<a name="line.122"></a>
<FONT color="green">123</FONT>       * This is a reference to the "tokenImage" array of the generated<a name="line.123"></a>
<FONT color="green">124</FONT>       * parser within which the parse error occurred.  This array is<a name="line.124"></a>
<FONT color="green">125</FONT>       * defined in the generated ...Constants interface.<a name="line.125"></a>
<FONT color="green">126</FONT>       */<a name="line.126"></a>
<FONT color="green">127</FONT>      public String[] tokenImage;<a name="line.127"></a>
<FONT color="green">128</FONT>    <a name="line.128"></a>
<FONT color="green">129</FONT>      /**<a name="line.129"></a>
<FONT color="green">130</FONT>       * This method has the standard behavior when this object has been<a name="line.130"></a>
<FONT color="green">131</FONT>       * created using the standard constructors.  Otherwise, it uses<a name="line.131"></a>
<FONT color="green">132</FONT>       * "currentToken" and "expectedTokenSequences" to generate a parse<a name="line.132"></a>
<FONT color="green">133</FONT>       * error message and returns it.  If this object has been created<a name="line.133"></a>
<FONT color="green">134</FONT>       * due to a parse error, and you do not catch it (it gets thrown<a name="line.134"></a>
<FONT color="green">135</FONT>       * from the parser), then this method is called during the printing<a name="line.135"></a>
<FONT color="green">136</FONT>       * of the final stack trace, and hence the correct error message<a name="line.136"></a>
<FONT color="green">137</FONT>       * gets displayed.<a name="line.137"></a>
<FONT color="green">138</FONT>       */<a name="line.138"></a>
<FONT color="green">139</FONT>      public String getMessage() {<a name="line.139"></a>
<FONT color="green">140</FONT>        if (!specialConstructor) {<a name="line.140"></a>
<FONT color="green">141</FONT>          return super.getMessage();<a name="line.141"></a>
<FONT color="green">142</FONT>        }<a name="line.142"></a>
<FONT color="green">143</FONT>        StringBuffer expected = new StringBuffer();<a name="line.143"></a>
<FONT color="green">144</FONT>        int maxSize = 0;<a name="line.144"></a>
<FONT color="green">145</FONT>        for (int i = 0; i &lt; expectedTokenSequences.length; i++) {<a name="line.145"></a>
<FONT color="green">146</FONT>          if (maxSize &lt; expectedTokenSequences[i].length) {<a name="line.146"></a>
<FONT color="green">147</FONT>            maxSize = expectedTokenSequences[i].length;<a name="line.147"></a>
<FONT color="green">148</FONT>          }<a name="line.148"></a>
<FONT color="green">149</FONT>          for (int j = 0; j &lt; expectedTokenSequences[i].length; j++) {<a name="line.149"></a>
<FONT color="green">150</FONT>            expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' ');<a name="line.150"></a>
<FONT color="green">151</FONT>          }<a name="line.151"></a>
<FONT color="green">152</FONT>          if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {<a name="line.152"></a>
<FONT color="green">153</FONT>            expected.append("...");<a name="line.153"></a>
<FONT color="green">154</FONT>          }<a name="line.154"></a>
<FONT color="green">155</FONT>          expected.append(eol).append("    ");<a name="line.155"></a>
<FONT color="green">156</FONT>        }<a name="line.156"></a>
<FONT color="green">157</FONT>        String retval = "Encountered \"";<a name="line.157"></a>
<FONT color="green">158</FONT>        Token tok = currentToken.next;<a name="line.158"></a>
<FONT color="green">159</FONT>        for (int i = 0; i &lt; maxSize; i++) {<a name="line.159"></a>
<FONT color="green">160</FONT>          if (i != 0) retval += " ";<a name="line.160"></a>
<FONT color="green">161</FONT>          if (tok.kind == 0) {<a name="line.161"></a>
<FONT color="green">162</FONT>            retval += tokenImage[0];<a name="line.162"></a>
<FONT color="green">163</FONT>            break;<a name="line.163"></a>
<FONT color="green">164</FONT>          }<a name="line.164"></a>
<FONT color="green">165</FONT>          retval += " " + tokenImage[tok.kind];<a name="line.165"></a>
<FONT color="green">166</FONT>          retval += " \"";<a name="line.166"></a>
<FONT color="green">167</FONT>          retval += add_escapes(tok.image);<a name="line.167"></a>
<FONT color="green">168</FONT>          retval += " \"";<a name="line.168"></a>
<FONT color="green">169</FONT>          tok = tok.next;<a name="line.169"></a>
<FONT color="green">170</FONT>        }<a name="line.170"></a>
<FONT color="green">171</FONT>        retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;<a name="line.171"></a>
<FONT color="green">172</FONT>        retval += "." + eol;<a name="line.172"></a>
<FONT color="green">173</FONT>        if (expectedTokenSequences.length == 1) {<a name="line.173"></a>
<FONT color="green">174</FONT>          retval += "Was expecting:" + eol + "    ";<a name="line.174"></a>
<FONT color="green">175</FONT>        } else {<a name="line.175"></a>
<FONT color="green">176</FONT>          retval += "Was expecting one of:" + eol + "    ";<a name="line.176"></a>
<FONT color="green">177</FONT>        }<a name="line.177"></a>
<FONT color="green">178</FONT>        retval += expected.toString();<a name="line.178"></a>
<FONT color="green">179</FONT>        return retval;<a name="line.179"></a>
<FONT color="green">180</FONT>      }<a name="line.180"></a>
<FONT color="green">181</FONT>    <a name="line.181"></a>
<FONT color="green">182</FONT>      /**<a name="line.182"></a>
<FONT color="green">183</FONT>       * The end of line string for this machine.<a name="line.183"></a>
<FONT color="green">184</FONT>       */<a name="line.184"></a>
<FONT color="green">185</FONT>      protected String eol = System.getProperty("line.separator", "\n");<a name="line.185"></a>
<FONT color="green">186</FONT>    <a name="line.186"></a>
<FONT color="green">187</FONT>      /**<a name="line.187"></a>
<FONT color="green">188</FONT>       * Used to convert raw characters to their escaped version<a name="line.188"></a>
<FONT color="green">189</FONT>       * when these raw version cannot be used as part of an ASCII<a name="line.189"></a>
<FONT color="green">190</FONT>       * string literal.<a name="line.190"></a>
<FONT color="green">191</FONT>       */<a name="line.191"></a>
<FONT color="green">192</FONT>      protected String add_escapes(String str) {<a name="line.192"></a>
<FONT color="green">193</FONT>          StringBuffer retval = new StringBuffer();<a name="line.193"></a>
<FONT color="green">194</FONT>          char ch;<a name="line.194"></a>
<FONT color="green">195</FONT>          for (int i = 0; i &lt; str.length(); i++) {<a name="line.195"></a>
<FONT color="green">196</FONT>            switch (str.charAt(i))<a name="line.196"></a>
<FONT color="green">197</FONT>            {<a name="line.197"></a>
<FONT color="green">198</FONT>               case 0 :<a name="line.198"></a>
<FONT color="green">199</FONT>                  continue;<a name="line.199"></a>
<FONT color="green">200</FONT>               case '\b':<a name="line.200"></a>
<FONT color="green">201</FONT>                  retval.append("\\b");<a name="line.201"></a>
<FONT color="green">202</FONT>                  continue;<a name="line.202"></a>
<FONT color="green">203</FONT>               case '\t':<a name="line.203"></a>
<FONT color="green">204</FONT>                  retval.append("\\t");<a name="line.204"></a>
<FONT color="green">205</FONT>                  continue;<a name="line.205"></a>
<FONT color="green">206</FONT>               case '\n':<a name="line.206"></a>
<FONT color="green">207</FONT>                  retval.append("\\n");<a name="line.207"></a>
<FONT color="green">208</FONT>                  continue;<a name="line.208"></a>
<FONT color="green">209</FONT>               case '\f':<a name="line.209"></a>
<FONT color="green">210</FONT>                  retval.append("\\f");<a name="line.210"></a>
<FONT color="green">211</FONT>                  continue;<a name="line.211"></a>
<FONT color="green">212</FONT>               case '\r':<a name="line.212"></a>
<FONT color="green">213</FONT>                  retval.append("\\r");<a name="line.213"></a>
<FONT color="green">214</FONT>                  continue;<a name="line.214"></a>
<FONT color="green">215</FONT>               case '\"':<a name="line.215"></a>
<FONT color="green">216</FONT>                  retval.append("\\\"");<a name="line.216"></a>
<FONT color="green">217</FONT>                  continue;<a name="line.217"></a>
<FONT color="green">218</FONT>               case '\'':<a name="line.218"></a>
<FONT color="green">219</FONT>                  retval.append("\\\'");<a name="line.219"></a>
<FONT color="green">220</FONT>                  continue;<a name="line.220"></a>
<FONT color="green">221</FONT>               case '\\':<a name="line.221"></a>
<FONT color="green">222</FONT>                  retval.append("\\\\");<a name="line.222"></a>
<FONT color="green">223</FONT>                  continue;<a name="line.223"></a>
<FONT color="green">224</FONT>               default:<a name="line.224"></a>
<FONT color="green">225</FONT>                  if ((ch = str.charAt(i)) &lt; 0x20 || ch &gt; 0x7e) {<a name="line.225"></a>
<FONT color="green">226</FONT>                     String s = "0000" + Integer.toString(ch, 16);<a name="line.226"></a>
<FONT color="green">227</FONT>                     retval.append("\\u" + s.substring(s.length() - 4, s.length()));<a name="line.227"></a>
<FONT color="green">228</FONT>                  } else {<a name="line.228"></a>
<FONT color="green">229</FONT>                     retval.append(ch);<a name="line.229"></a>
<FONT color="green">230</FONT>                  }<a name="line.230"></a>
<FONT color="green">231</FONT>                  continue;<a name="line.231"></a>
<FONT color="green">232</FONT>            }<a name="line.232"></a>
<FONT color="green">233</FONT>          }<a name="line.233"></a>
<FONT color="green">234</FONT>          return retval.toString();<a name="line.234"></a>
<FONT color="green">235</FONT>       }<a name="line.235"></a>
<FONT color="green">236</FONT>    <a name="line.236"></a>
<FONT color="green">237</FONT>    }<a name="line.237"></a>
<FONT color="green">238</FONT>    /* JavaCC - OriginalChecksum=1dc25ef3bbdc3cc4c510b31013f38e78 (do not edit this line) */<a name="line.238"></a>




























































</PRE>
</BODY>
</HTML>