1 | /* | |
2 | * Copyright 2006 - 2013 | |
3 | * Stefan Balev <stefan.balev@graphstream-project.org> | |
4 | * Julien Baudry <julien.baudry@graphstream-project.org> | |
5 | * Antoine Dutot <antoine.dutot@graphstream-project.org> | |
6 | * Yoann Pign�� <yoann.pigne@graphstream-project.org> | |
7 | * Guilhelm Savin <guilhelm.savin@graphstream-project.org> | |
8 | * | |
9 | * This file is part of GraphStream <http://graphstream-project.org>. | |
10 | * | |
11 | * GraphStream is a library whose purpose is to handle static or dynamic | |
12 | * graph, create them from scratch, file or any source and display them. | |
13 | * | |
14 | * This program is free software distributed under the terms of two licenses, the | |
15 | * CeCILL-C license that fits European law, and the GNU Lesser General Public | |
16 | * License. You can use, modify and/ or redistribute the software under the terms | |
17 | * of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following | |
18 | * URL <http://www.cecill.info> or under the terms of the GNU LGPL as published by | |
19 | * the Free Software Foundation, either version 3 of the License, or (at your | |
20 | * option) any later version. | |
21 | * | |
22 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY | |
23 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |
24 | * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. | |
25 | * | |
26 | * You should have received a copy of the GNU Lesser General Public License | |
27 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
28 | * | |
29 | * The fact that you are presently reading this means that you have had | |
30 | * knowledge of the CeCILL-C and LGPL licenses and that you accept their terms. | |
31 | */ | |
32 | package org.graphstream.stream.file.tlp; | |
33 | ||
34 | import java.io.InputStream; | |
35 | import java.io.IOException; | |
36 | import java.io.Reader; | |
37 | ||
38 | import java.util.HashMap; | |
39 | import java.util.LinkedList; | |
40 | import java.util.Stack; | |
41 | ||
42 | import org.graphstream.stream.SourceBase.ElementType; | |
43 | import org.graphstream.stream.file.FileSourceTLP; | |
44 | import org.graphstream.graph.implementations.AbstractElement.AttributeChangeEvent; | |
45 | ||
46 | import org.graphstream.util.parser.ParseException; | |
47 | import org.graphstream.util.parser.Parser; | |
48 | import org.graphstream.util.parser.SimpleCharStream; | |
49 | import org.graphstream.util.parser.Token; | |
50 | import org.graphstream.util.parser.TokenMgrError; | |
51 | ||
52 | /** | |
53 | * This class defines a TLP parser. | |
54 | */ | |
55 | @SuppressWarnings("unused") | |
56 | public class TLPParser implements Parser, TLPParserConstants { | |
57 | ||
58 | protected static enum PropertyType { | |
59 | BOOL, COLOR, DOUBLE, LAYOUT, INT, SIZE, STRING | |
60 | } | |
61 | ||
62 | protected static class Cluster { | |
63 | int index; | |
64 | String name; | |
65 | ||
66 | LinkedList<String> nodes; | |
67 | LinkedList<String> edges; | |
68 | ||
69 | Cluster(int index, String name) { | |
70 | this.index = index; | |
71 | this.name = name; | |
72 | this.nodes = new LinkedList<String>(); | |
73 | this.edges = new LinkedList<String>(); | |
74 | } | |
75 | } | |
76 | ||
77 | /** | |
78 | * The DOT source associated with this parser. | |
79 | */ | |
80 | private FileSourceTLP tlp; | |
81 | ||
82 | /** | |
83 | * Id of the parser used in events. | |
84 | */ | |
85 | private String sourceId; | |
86 | ||
87 | private Cluster root; | |
88 | private HashMap<Integer, Cluster> clusters; | |
89 | private Stack<Cluster> stack; | |
90 | ||
91 | /** | |
92 | * Create a new parser associated with a TLP source from an input stream. | |
93 | */ | |
94 | public TLPParser(FileSourceTLP tlp, InputStream stream) { | |
95 | this(stream); | |
96 |
1
1. |
init(tlp); |
97 | } | |
98 | ||
99 | /** | |
100 | * Create a new parser associated with a DOT source from a reader. | |
101 | */ | |
102 | public TLPParser(FileSourceTLP tlp, Reader stream) { | |
103 | this(stream); | |
104 |
1
1. |
init(tlp); |
105 | } | |
106 | ||
107 | /** | |
108 | * Closes the parser, closing the opened stream. | |
109 | */ | |
110 | public void close() throws IOException { | |
111 |
1
1. close : removed call to org/graphstream/util/parser/SimpleCharStream::close → NO_COVERAGE |
jj_input_stream.close(); |
112 |
1
1. close : removed call to java/util/HashMap::clear → NO_COVERAGE |
clusters.clear(); |
113 | } | |
114 | ||
115 | private void init(FileSourceTLP tlp) { | |
116 | this.tlp = tlp; | |
117 | this.sourceId = String.format("<DOT stream %x>", System.nanoTime()); | |
118 | ||
119 | this.clusters = new HashMap<Integer, Cluster>(); | |
120 | this.stack = new Stack<Cluster>(); | |
121 | ||
122 | this.root = new Cluster(0, "<root>"); | |
123 | this.clusters.put(0, this.root); | |
124 | this.stack.push(this.root); | |
125 | } | |
126 | ||
127 | private void addNode(String id) throws ParseException { | |
128 |
2
1. addNode : changed conditional boundary → NO_COVERAGE 2. addNode : negated conditional → NO_COVERAGE |
if (stack.size() > 1 |
129 |
2
1. addNode : Replaced integer subtraction with addition → NO_COVERAGE 2. addNode : negated conditional → NO_COVERAGE |
&& (!root.nodes.contains(id) || !stack.get(stack.size() - 2).nodes |
130 |
1
1. addNode : negated conditional → NO_COVERAGE |
.contains(id))) |
131 | throw new ParseException("parent cluster do not contain the node"); | |
132 | ||
133 |
1
1. addNode : negated conditional → NO_COVERAGE |
if (stack.size() == 1) |
134 |
1
1. addNode : removed call to org/graphstream/stream/file/FileSourceTLP::sendNodeAdded → NO_COVERAGE |
tlp.sendNodeAdded(sourceId, id); |
135 | ||
136 | stack.peek().nodes.add(id); | |
137 | } | |
138 | ||
139 | private void addEdge(String id, String source, String target) | |
140 | throws ParseException { | |
141 |
2
1. addEdge : changed conditional boundary → NO_COVERAGE 2. addEdge : negated conditional → NO_COVERAGE |
if (stack.size() > 1 |
142 |
2
1. addEdge : Replaced integer subtraction with addition → NO_COVERAGE 2. addEdge : negated conditional → NO_COVERAGE |
&& (!root.edges.contains(id) || !stack.get(stack.size() - 2).edges |
143 |
1
1. addEdge : negated conditional → NO_COVERAGE |
.contains(id))) |
144 | throw new ParseException("parent cluster " | |
145 |
1
1. addEdge : Replaced integer subtraction with addition → NO_COVERAGE |
+ stack.get(stack.size() - 2).name |
146 | + " do not contain the edge"); | |
147 | ||
148 |
1
1. addEdge : negated conditional → NO_COVERAGE |
if (stack.size() == 1) |
149 |
1
1. addEdge : removed call to org/graphstream/stream/file/FileSourceTLP::sendEdgeAdded → NO_COVERAGE |
tlp.sendEdgeAdded(sourceId, id, source, target, false); |
150 | ||
151 | stack.peek().edges.add(id); | |
152 | } | |
153 | ||
154 | private void includeEdge(String id) throws ParseException { | |
155 |
2
1. includeEdge : changed conditional boundary → NO_COVERAGE 2. includeEdge : negated conditional → NO_COVERAGE |
if (stack.size() > 1 |
156 |
2
1. includeEdge : Replaced integer subtraction with addition → NO_COVERAGE 2. includeEdge : negated conditional → NO_COVERAGE |
&& (!root.edges.contains(id) || !stack.get(stack.size() - 2).edges |
157 |
1
1. includeEdge : negated conditional → NO_COVERAGE |
.contains(id))) |
158 | throw new ParseException("parent cluster " | |
159 |
1
1. includeEdge : Replaced integer subtraction with addition → NO_COVERAGE |
+ stack.get(stack.size() - 2).name |
160 | + " do not contain the edge"); | |
161 | ||
162 | stack.peek().edges.add(id); | |
163 | } | |
164 | ||
165 | private void graphAttribute(String key, Object value) { | |
166 |
1
1. graphAttribute : removed call to org/graphstream/stream/file/FileSourceTLP::sendAttributeChangedEvent → NO_COVERAGE |
tlp.sendAttributeChangedEvent(sourceId, sourceId, ElementType.GRAPH, |
167 | key, AttributeChangeEvent.ADD, null, value); | |
168 | } | |
169 | ||
170 | private void pushCluster(int i, String name) { | |
171 | Cluster c = new Cluster(i, name); | |
172 | clusters.put(i, c); | |
173 | stack.push(c); | |
174 | } | |
175 | ||
176 | private void popCluster() { | |
177 |
2
1. popCluster : changed conditional boundary → NO_COVERAGE 2. popCluster : negated conditional → NO_COVERAGE |
if (stack.size() > 1) |
178 | stack.pop(); | |
179 | } | |
180 | ||
181 | private void newProperty(Integer cluster, String name, PropertyType type, | |
182 | String nodeDefault, String edgeDefault, | |
183 | HashMap<String, String> nodes, HashMap<String, String> edges) { | |
184 | Object nodeDefaultValue = convert(type, nodeDefault); | |
185 | Object edgeDefaultValue = convert(type, edgeDefault); | |
186 | Cluster c = clusters.get(cluster); | |
187 | ||
188 |
1
1. newProperty : negated conditional → NO_COVERAGE |
for (String id : c.nodes) { |
189 | Object value = nodeDefaultValue; | |
190 | ||
191 |
1
1. newProperty : negated conditional → NO_COVERAGE |
if (nodes.containsKey(id)) |
192 | value = convert(type, nodes.get(id)); | |
193 | ||
194 |
1
1. newProperty : removed call to org/graphstream/stream/file/FileSourceTLP::sendAttributeChangedEvent → NO_COVERAGE |
tlp.sendAttributeChangedEvent(sourceId, id, ElementType.NODE, name, |
195 | AttributeChangeEvent.ADD, null, value); | |
196 | } | |
197 | ||
198 |
1
1. newProperty : negated conditional → NO_COVERAGE |
for (String id : c.edges) { |
199 | Object value = edgeDefaultValue; | |
200 | ||
201 |
1
1. newProperty : negated conditional → NO_COVERAGE |
if (edges.containsKey(id)) |
202 | value = convert(type, edges.get(id)); | |
203 | ||
204 |
1
1. newProperty : removed call to org/graphstream/stream/file/FileSourceTLP::sendAttributeChangedEvent → NO_COVERAGE |
tlp.sendAttributeChangedEvent(sourceId, id, ElementType.EDGE, name, |
205 | AttributeChangeEvent.ADD, null, value); | |
206 | } | |
207 | } | |
208 | ||
209 | private Object convert(PropertyType type, String value) { | |
210 | switch (type) { | |
211 | case BOOL: | |
212 |
1
1. convert : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::convert to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Boolean.valueOf(value); |
213 | case INT: | |
214 |
1
1. convert : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::convert to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Integer.valueOf(value); |
215 | case DOUBLE: | |
216 |
1
1. convert : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::convert to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Double.valueOf(value); |
217 | case LAYOUT: | |
218 | case COLOR: | |
219 | case SIZE: | |
220 | case STRING: | |
221 |
1
1. convert : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::convert to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return value; |
222 | } | |
223 | ||
224 |
1
1. convert : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::convert to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return value; |
225 | } | |
226 | ||
227 | final public void all() throws ParseException { | |
228 |
1
1. all : removed call to org/graphstream/stream/file/tlp/TLPParser::tlp → NO_COVERAGE |
tlp(); |
229 | label_1: while (true) { | |
230 |
1
1. all : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
231 | case OBRACKET: | |
232 | ; | |
233 | break; | |
234 | default: | |
235 | jj_la1[0] = jj_gen; | |
236 | break label_1; | |
237 | } | |
238 |
1
1. all : removed call to org/graphstream/stream/file/tlp/TLPParser::statement → NO_COVERAGE |
statement(); |
239 | } | |
240 | jj_consume_token(CBRACKET); | |
241 | jj_consume_token(0); | |
242 | } | |
243 | ||
244 | final public boolean next() throws ParseException { | |
245 | boolean hasMore = false; | |
246 |
1
1. next : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
247 | case OBRACKET: | |
248 |
1
1. next : removed call to org/graphstream/stream/file/tlp/TLPParser::statement → NO_COVERAGE |
statement(); |
249 | hasMore = true; | |
250 | break; | |
251 | case 0: | |
252 | jj_consume_token(0); | |
253 | break; | |
254 | default: | |
255 | jj_la1[1] = jj_gen; | |
256 | jj_consume_token(-1); | |
257 | throw new ParseException(); | |
258 | } | |
259 | ||
260 |
1
1. next : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return hasMore; |
261 | } | |
262 | ||
263 | final public void open() throws ParseException { | |
264 |
1
1. open : removed call to org/graphstream/stream/file/tlp/TLPParser::tlp → NO_COVERAGE |
tlp(); |
265 | } | |
266 | ||
267 | final private void tlp() throws ParseException { | |
268 | jj_consume_token(OBRACKET); | |
269 | jj_consume_token(TLP); | |
270 | jj_consume_token(STRING); | |
271 | label_2: while (true) { | |
272 |
1
1. tlp : negated conditional → NO_COVERAGE |
if (jj_2_1(2)) { |
273 | ; | |
274 | } else { | |
275 | break label_2; | |
276 | } | |
277 |
1
1. tlp : removed call to org/graphstream/stream/file/tlp/TLPParser::headers → NO_COVERAGE |
headers(); |
278 | } | |
279 | } | |
280 | ||
281 | final private void headers() throws ParseException { | |
282 | String s; | |
283 | jj_consume_token(OBRACKET); | |
284 |
1
1. headers : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
285 | case DATE: | |
286 | jj_consume_token(DATE); | |
287 | s = string(); | |
288 |
1
1. headers : removed call to org/graphstream/stream/file/tlp/TLPParser::graphAttribute → NO_COVERAGE |
graphAttribute("date", s); |
289 | break; | |
290 | case AUTHOR: | |
291 | jj_consume_token(AUTHOR); | |
292 | s = string(); | |
293 |
1
1. headers : removed call to org/graphstream/stream/file/tlp/TLPParser::graphAttribute → NO_COVERAGE |
graphAttribute("author", s); |
294 | break; | |
295 | case COMMENTS: | |
296 | jj_consume_token(COMMENTS); | |
297 | s = string(); | |
298 |
1
1. headers : removed call to org/graphstream/stream/file/tlp/TLPParser::graphAttribute → NO_COVERAGE |
graphAttribute("comments", s); |
299 | break; | |
300 | default: | |
301 | jj_la1[2] = jj_gen; | |
302 | jj_consume_token(-1); | |
303 | throw new ParseException(); | |
304 | } | |
305 | jj_consume_token(CBRACKET); | |
306 | } | |
307 | ||
308 | final private void statement() throws ParseException { | |
309 |
1
1. statement : negated conditional → NO_COVERAGE |
if (jj_2_2(2)) { |
310 |
1
1. statement : removed call to org/graphstream/stream/file/tlp/TLPParser::nodes → NO_COVERAGE |
nodes(); |
311 |
1
1. statement : negated conditional → NO_COVERAGE |
} else if (jj_2_3(2)) { |
312 |
1
1. statement : removed call to org/graphstream/stream/file/tlp/TLPParser::edge → NO_COVERAGE |
edge(); |
313 |
1
1. statement : negated conditional → NO_COVERAGE |
} else if (jj_2_4(2)) { |
314 |
1
1. statement : removed call to org/graphstream/stream/file/tlp/TLPParser::cluster → NO_COVERAGE |
cluster(); |
315 |
1
1. statement : negated conditional → NO_COVERAGE |
} else if (jj_2_5(2)) { |
316 |
1
1. statement : removed call to org/graphstream/stream/file/tlp/TLPParser::property → NO_COVERAGE |
property(); |
317 | } else { | |
318 | jj_consume_token(-1); | |
319 | throw new ParseException(); | |
320 | } | |
321 | } | |
322 | ||
323 | final private void nodes() throws ParseException { | |
324 | Token i; | |
325 | jj_consume_token(OBRACKET); | |
326 | jj_consume_token(NODES); | |
327 | label_3: while (true) { | |
328 |
1
1. nodes : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
329 | case INTEGER: | |
330 | ; | |
331 | break; | |
332 | default: | |
333 | jj_la1[3] = jj_gen; | |
334 | break label_3; | |
335 | } | |
336 | i = jj_consume_token(INTEGER); | |
337 |
1
1. nodes : removed call to org/graphstream/stream/file/tlp/TLPParser::addNode → NO_COVERAGE |
addNode(i.image); |
338 | } | |
339 | jj_consume_token(CBRACKET); | |
340 | } | |
341 | ||
342 | final private void edge() throws ParseException { | |
343 | Token i, s, t; | |
344 | jj_consume_token(OBRACKET); | |
345 | jj_consume_token(EDGE); | |
346 | i = jj_consume_token(INTEGER); | |
347 | s = jj_consume_token(INTEGER); | |
348 | t = jj_consume_token(INTEGER); | |
349 | jj_consume_token(CBRACKET); | |
350 |
1
1. edge : removed call to org/graphstream/stream/file/tlp/TLPParser::addEdge → NO_COVERAGE |
addEdge(i.image, s.image, t.image); |
351 | } | |
352 | ||
353 | final private void edges() throws ParseException { | |
354 | Token i; | |
355 | jj_consume_token(OBRACKET); | |
356 | jj_consume_token(EDGES); | |
357 | label_4: while (true) { | |
358 |
1
1. edges : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
359 | case INTEGER: | |
360 | ; | |
361 | break; | |
362 | default: | |
363 | jj_la1[4] = jj_gen; | |
364 | break label_4; | |
365 | } | |
366 | i = jj_consume_token(INTEGER); | |
367 |
1
1. edges : removed call to org/graphstream/stream/file/tlp/TLPParser::includeEdge → NO_COVERAGE |
includeEdge(i.image); |
368 | } | |
369 | jj_consume_token(CBRACKET); | |
370 | } | |
371 | ||
372 | final private void cluster() throws ParseException { | |
373 | Token index; | |
374 | String name; | |
375 | jj_consume_token(OBRACKET); | |
376 | jj_consume_token(CLUSTER); | |
377 | index = jj_consume_token(INTEGER); | |
378 | name = string(); | |
379 |
1
1. cluster : removed call to org/graphstream/stream/file/tlp/TLPParser::pushCluster → NO_COVERAGE |
pushCluster(Integer.valueOf(index.image), name); |
380 |
1
1. cluster : removed call to org/graphstream/stream/file/tlp/TLPParser::nodes → NO_COVERAGE |
nodes(); |
381 |
1
1. cluster : removed call to org/graphstream/stream/file/tlp/TLPParser::edges → NO_COVERAGE |
edges(); |
382 | label_5: while (true) { | |
383 |
1
1. cluster : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
384 | case OBRACKET: | |
385 | ; | |
386 | break; | |
387 | default: | |
388 | jj_la1[5] = jj_gen; | |
389 | break label_5; | |
390 | } | |
391 |
1
1. cluster : removed call to org/graphstream/stream/file/tlp/TLPParser::cluster → NO_COVERAGE |
cluster(); |
392 | } | |
393 | jj_consume_token(CBRACKET); | |
394 |
1
1. cluster : removed call to org/graphstream/stream/file/tlp/TLPParser::popCluster → NO_COVERAGE |
popCluster(); |
395 | } | |
396 | ||
397 | final private void property() throws ParseException { | |
398 | PropertyType type; | |
399 | Integer cluster; | |
400 | String name; | |
401 | String nodeDefault, edgeDefault; | |
402 | String value; | |
403 | Token t; | |
404 | ||
405 | HashMap<String, String> nodes = new HashMap<String, String>(); | |
406 | HashMap<String, String> edges = new HashMap<String, String>(); | |
407 | jj_consume_token(OBRACKET); | |
408 | jj_consume_token(PROPERTY); | |
409 | cluster = integer(); | |
410 | type = type(); | |
411 | name = string(); | |
412 | jj_consume_token(OBRACKET); | |
413 | jj_consume_token(DEF); | |
414 | nodeDefault = string(); | |
415 | edgeDefault = string(); | |
416 | jj_consume_token(CBRACKET); | |
417 | label_6: while (true) { | |
418 |
1
1. property : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
419 | case OBRACKET: | |
420 | ; | |
421 | break; | |
422 | default: | |
423 | jj_la1[6] = jj_gen; | |
424 | break label_6; | |
425 | } | |
426 | jj_consume_token(OBRACKET); | |
427 |
1
1. property : negated conditional → NO_COVERAGE |
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { |
428 | case NODE: | |
429 | jj_consume_token(NODE); | |
430 | t = jj_consume_token(INTEGER); | |
431 | value = string(); | |
432 | nodes.put(t.image, value); | |
433 | break; | |
434 | case EDGE: | |
435 | jj_consume_token(EDGE); | |
436 | t = jj_consume_token(INTEGER); | |
437 | value = string(); | |
438 | edges.put(t.image, value); | |
439 | break; | |
440 | default: | |
441 | jj_la1[7] = jj_gen; | |
442 | jj_consume_token(-1); | |
443 | throw new ParseException(); | |
444 | } | |
445 | jj_consume_token(CBRACKET); | |
446 | } | |
447 | jj_consume_token(CBRACKET); | |
448 |
1
1. property : removed call to org/graphstream/stream/file/tlp/TLPParser::newProperty → NO_COVERAGE |
newProperty(cluster, name, type, nodeDefault, edgeDefault, nodes, edges); |
449 | } | |
450 | ||
451 | final private PropertyType type() throws ParseException { | |
452 | Token t; | |
453 | t = jj_consume_token(PTYPE); | |
454 | ||
455 |
1
1. type : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::type to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return PropertyType.valueOf(t.image.toUpperCase()); |
456 | } | |
457 | ||
458 | final private String string() throws ParseException { | |
459 | Token t; | |
460 | t = jj_consume_token(STRING); | |
461 | ||
462 |
2
1. string : Replaced integer subtraction with addition → NO_COVERAGE 2. string : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::string to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return t.image.substring(1, t.image.length() - 1); |
463 | } | |
464 | ||
465 | final private Integer integer() throws ParseException { | |
466 | Token t; | |
467 | t = jj_consume_token(INTEGER); | |
468 | ||
469 |
1
1. integer : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::integer to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Integer.valueOf(t.image); |
470 | } | |
471 | ||
472 | private boolean jj_2_1(int xla) { | |
473 | jj_la = xla; | |
474 | jj_lastpos = jj_scanpos = token; | |
475 | try { | |
476 |
2
1. jj_2_1 : negated conditional → NO_COVERAGE 2. jj_2_1 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return !jj_3_1(); |
477 | } catch (LookaheadSuccess ls) { | |
478 |
1
1. jj_2_1 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
479 | } finally { | |
480 |
3
1. jj_2_1 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 2. jj_2_1 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 3. jj_2_1 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE |
jj_save(0, xla); |
481 | } | |
482 | } | |
483 | ||
484 | private boolean jj_2_2(int xla) { | |
485 | jj_la = xla; | |
486 | jj_lastpos = jj_scanpos = token; | |
487 | try { | |
488 |
2
1. jj_2_2 : negated conditional → NO_COVERAGE 2. jj_2_2 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return !jj_3_2(); |
489 | } catch (LookaheadSuccess ls) { | |
490 |
1
1. jj_2_2 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
491 | } finally { | |
492 |
3
1. jj_2_2 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 2. jj_2_2 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 3. jj_2_2 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE |
jj_save(1, xla); |
493 | } | |
494 | } | |
495 | ||
496 | private boolean jj_2_3(int xla) { | |
497 | jj_la = xla; | |
498 | jj_lastpos = jj_scanpos = token; | |
499 | try { | |
500 |
2
1. jj_2_3 : negated conditional → NO_COVERAGE 2. jj_2_3 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return !jj_3_3(); |
501 | } catch (LookaheadSuccess ls) { | |
502 |
1
1. jj_2_3 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
503 | } finally { | |
504 |
3
1. jj_2_3 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 2. jj_2_3 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 3. jj_2_3 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE |
jj_save(2, xla); |
505 | } | |
506 | } | |
507 | ||
508 | private boolean jj_2_4(int xla) { | |
509 | jj_la = xla; | |
510 | jj_lastpos = jj_scanpos = token; | |
511 | try { | |
512 |
2
1. jj_2_4 : negated conditional → NO_COVERAGE 2. jj_2_4 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return !jj_3_4(); |
513 | } catch (LookaheadSuccess ls) { | |
514 |
1
1. jj_2_4 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
515 | } finally { | |
516 |
3
1. jj_2_4 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 2. jj_2_4 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 3. jj_2_4 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE |
jj_save(3, xla); |
517 | } | |
518 | } | |
519 | ||
520 | private boolean jj_2_5(int xla) { | |
521 | jj_la = xla; | |
522 | jj_lastpos = jj_scanpos = token; | |
523 | try { | |
524 |
2
1. jj_2_5 : negated conditional → NO_COVERAGE 2. jj_2_5 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return !jj_3_5(); |
525 | } catch (LookaheadSuccess ls) { | |
526 |
1
1. jj_2_5 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
527 | } finally { | |
528 |
3
1. jj_2_5 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 2. jj_2_5 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE 3. jj_2_5 : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_save → NO_COVERAGE |
jj_save(4, xla); |
529 | } | |
530 | } | |
531 | ||
532 | private boolean jj_3_1() { | |
533 |
1
1. jj_3_1 : negated conditional → NO_COVERAGE |
if (jj_3R_7()) |
534 |
1
1. jj_3_1 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
535 |
1
1. jj_3_1 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
536 | } | |
537 | ||
538 | private boolean jj_3_5() { | |
539 |
1
1. jj_3_5 : negated conditional → NO_COVERAGE |
if (jj_3R_11()) |
540 |
1
1. jj_3_5 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
541 |
1
1. jj_3_5 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
542 | } | |
543 | ||
544 | private boolean jj_3R_9() { | |
545 |
1
1. jj_3R_9 : negated conditional → NO_COVERAGE |
if (jj_scan_token(OBRACKET)) |
546 |
1
1. jj_3R_9 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
547 |
1
1. jj_3R_9 : negated conditional → NO_COVERAGE |
if (jj_scan_token(EDGE)) |
548 |
1
1. jj_3R_9 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
549 |
1
1. jj_3R_9 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
550 | } | |
551 | ||
552 | private boolean jj_3_4() { | |
553 |
1
1. jj_3_4 : negated conditional → NO_COVERAGE |
if (jj_3R_10()) |
554 |
1
1. jj_3_4 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
555 |
1
1. jj_3_4 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
556 | } | |
557 | ||
558 | private boolean jj_3_3() { | |
559 |
1
1. jj_3_3 : negated conditional → NO_COVERAGE |
if (jj_3R_9()) |
560 |
1
1. jj_3_3 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
561 |
1
1. jj_3_3 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
562 | } | |
563 | ||
564 | private boolean jj_3R_14() { | |
565 |
1
1. jj_3R_14 : negated conditional → NO_COVERAGE |
if (jj_scan_token(COMMENTS)) |
566 |
1
1. jj_3R_14 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
567 |
1
1. jj_3R_14 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
568 | } | |
569 | ||
570 | private boolean jj_3R_13() { | |
571 |
1
1. jj_3R_13 : negated conditional → NO_COVERAGE |
if (jj_scan_token(AUTHOR)) |
572 |
1
1. jj_3R_13 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
573 |
1
1. jj_3R_13 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
574 | } | |
575 | ||
576 | private boolean jj_3_2() { | |
577 |
1
1. jj_3_2 : negated conditional → NO_COVERAGE |
if (jj_3R_8()) |
578 |
1
1. jj_3_2 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
579 |
1
1. jj_3_2 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
580 | } | |
581 | ||
582 | private boolean jj_3R_12() { | |
583 |
1
1. jj_3R_12 : negated conditional → NO_COVERAGE |
if (jj_scan_token(DATE)) |
584 |
1
1. jj_3R_12 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
585 |
1
1. jj_3R_12 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
586 | } | |
587 | ||
588 | private boolean jj_3R_11() { | |
589 |
1
1. jj_3R_11 : negated conditional → NO_COVERAGE |
if (jj_scan_token(OBRACKET)) |
590 |
1
1. jj_3R_11 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
591 |
1
1. jj_3R_11 : negated conditional → NO_COVERAGE |
if (jj_scan_token(PROPERTY)) |
592 |
1
1. jj_3R_11 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
593 |
1
1. jj_3R_11 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
594 | } | |
595 | ||
596 | private boolean jj_3R_10() { | |
597 |
1
1. jj_3R_10 : negated conditional → NO_COVERAGE |
if (jj_scan_token(OBRACKET)) |
598 |
1
1. jj_3R_10 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
599 |
1
1. jj_3R_10 : negated conditional → NO_COVERAGE |
if (jj_scan_token(CLUSTER)) |
600 |
1
1. jj_3R_10 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
601 |
1
1. jj_3R_10 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
602 | } | |
603 | ||
604 | private boolean jj_3R_7() { | |
605 |
1
1. jj_3R_7 : negated conditional → NO_COVERAGE |
if (jj_scan_token(OBRACKET)) |
606 |
1
1. jj_3R_7 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
607 | Token xsp; | |
608 | xsp = jj_scanpos; | |
609 |
1
1. jj_3R_7 : negated conditional → NO_COVERAGE |
if (jj_3R_12()) { |
610 | jj_scanpos = xsp; | |
611 |
1
1. jj_3R_7 : negated conditional → NO_COVERAGE |
if (jj_3R_13()) { |
612 | jj_scanpos = xsp; | |
613 |
1
1. jj_3R_7 : negated conditional → NO_COVERAGE |
if (jj_3R_14()) |
614 |
1
1. jj_3R_7 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
615 | } | |
616 | } | |
617 |
1
1. jj_3R_7 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
618 | } | |
619 | ||
620 | private boolean jj_3R_8() { | |
621 |
1
1. jj_3R_8 : negated conditional → NO_COVERAGE |
if (jj_scan_token(OBRACKET)) |
622 |
1
1. jj_3R_8 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
623 |
1
1. jj_3R_8 : negated conditional → NO_COVERAGE |
if (jj_scan_token(NODES)) |
624 |
1
1. jj_3R_8 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
625 |
1
1. jj_3R_8 : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
626 | } | |
627 | ||
628 | /** Generated Token Manager. */ | |
629 | public TLPParserTokenManager token_source; | |
630 | SimpleCharStream jj_input_stream; | |
631 | /** Current token. */ | |
632 | public Token token; | |
633 | /** Next token. */ | |
634 | public Token jj_nt; | |
635 | private int jj_ntk; | |
636 | private Token jj_scanpos, jj_lastpos; | |
637 | private int jj_la; | |
638 | private int jj_gen; | |
639 | final private int[] jj_la1 = new int[8]; | |
640 | static private int[] jj_la1_0; | |
641 | static { | |
642 | jj_la1_init_0(); | |
643 | } | |
644 | ||
645 | private static void jj_la1_init_0() { | |
646 | jj_la1_0 = new int[] { 0x400, 0x401, 0x380000, 0x1000000, 0x1000000, | |
647 | 0x400, 0x400, 0x14000, }; | |
648 | } | |
649 | ||
650 | final private JJCalls[] jj_2_rtns = new JJCalls[5]; | |
651 | private boolean jj_rescan = false; | |
652 | private int jj_gc = 0; | |
653 | ||
654 | /** Constructor with InputStream. */ | |
655 | public TLPParser(java.io.InputStream stream) { | |
656 | this(stream, null); | |
657 | } | |
658 | ||
659 | /** Constructor with InputStream and supplied encoding */ | |
660 | public TLPParser(java.io.InputStream stream, String encoding) { | |
661 | try { | |
662 | jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); | |
663 | } catch (java.io.UnsupportedEncodingException e) { | |
664 | throw new RuntimeException(e); | |
665 | } | |
666 | token_source = new TLPParserTokenManager(jj_input_stream); | |
667 | token = new Token(); | |
668 | jj_ntk = -1; | |
669 | jj_gen = 0; | |
670 |
3
1. 2. 3. |
for (int i = 0; i < 8; i++) |
671 | jj_la1[i] = -1; | |
672 |
3
1. 2. 3. |
for (int i = 0; i < jj_2_rtns.length; i++) |
673 | jj_2_rtns[i] = new JJCalls(); | |
674 | } | |
675 | ||
676 | /** Reinitialise. */ | |
677 | public void ReInit(java.io.InputStream stream) { | |
678 |
1
1. ReInit : removed call to org/graphstream/stream/file/tlp/TLPParser::ReInit → NO_COVERAGE |
ReInit(stream, null); |
679 | } | |
680 | ||
681 | /** Reinitialise. */ | |
682 | public void ReInit(java.io.InputStream stream, String encoding) { | |
683 | try { | |
684 |
1
1. ReInit : removed call to org/graphstream/util/parser/SimpleCharStream::ReInit → NO_COVERAGE |
jj_input_stream.ReInit(stream, encoding, 1, 1); |
685 | } catch (java.io.UnsupportedEncodingException e) { | |
686 | throw new RuntimeException(e); | |
687 | } | |
688 |
1
1. ReInit : removed call to org/graphstream/stream/file/tlp/TLPParserTokenManager::ReInit → NO_COVERAGE |
token_source.ReInit(jj_input_stream); |
689 | token = new Token(); | |
690 | jj_ntk = -1; | |
691 | jj_gen = 0; | |
692 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < 8; i++) |
693 | jj_la1[i] = -1; | |
694 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_2_rtns.length; i++) |
695 | jj_2_rtns[i] = new JJCalls(); | |
696 | } | |
697 | ||
698 | /** Constructor. */ | |
699 | public TLPParser(java.io.Reader stream) { | |
700 | jj_input_stream = new SimpleCharStream(stream, 1, 1); | |
701 | token_source = new TLPParserTokenManager(jj_input_stream); | |
702 | token = new Token(); | |
703 | jj_ntk = -1; | |
704 | jj_gen = 0; | |
705 |
3
1. 2. 3. |
for (int i = 0; i < 8; i++) |
706 | jj_la1[i] = -1; | |
707 |
3
1. 2. 3. |
for (int i = 0; i < jj_2_rtns.length; i++) |
708 | jj_2_rtns[i] = new JJCalls(); | |
709 | } | |
710 | ||
711 | /** Reinitialise. */ | |
712 | public void ReInit(java.io.Reader stream) { | |
713 |
1
1. ReInit : removed call to org/graphstream/util/parser/SimpleCharStream::ReInit → NO_COVERAGE |
jj_input_stream.ReInit(stream, 1, 1); |
714 |
1
1. ReInit : removed call to org/graphstream/stream/file/tlp/TLPParserTokenManager::ReInit → NO_COVERAGE |
token_source.ReInit(jj_input_stream); |
715 | token = new Token(); | |
716 | jj_ntk = -1; | |
717 | jj_gen = 0; | |
718 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < 8; i++) |
719 | jj_la1[i] = -1; | |
720 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_2_rtns.length; i++) |
721 | jj_2_rtns[i] = new JJCalls(); | |
722 | } | |
723 | ||
724 | /** Constructor with generated Token Manager. */ | |
725 | public TLPParser(TLPParserTokenManager tm) { | |
726 | token_source = tm; | |
727 | token = new Token(); | |
728 | jj_ntk = -1; | |
729 | jj_gen = 0; | |
730 |
3
1. 2. 3. |
for (int i = 0; i < 8; i++) |
731 | jj_la1[i] = -1; | |
732 |
3
1. 2. 3. |
for (int i = 0; i < jj_2_rtns.length; i++) |
733 | jj_2_rtns[i] = new JJCalls(); | |
734 | } | |
735 | ||
736 | /** Reinitialise. */ | |
737 | public void ReInit(TLPParserTokenManager tm) { | |
738 | token_source = tm; | |
739 | token = new Token(); | |
740 | jj_ntk = -1; | |
741 | jj_gen = 0; | |
742 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < 8; i++) |
743 | jj_la1[i] = -1; | |
744 |
3
1. ReInit : changed conditional boundary → NO_COVERAGE 2. ReInit : Changed increment from 1 to -1 → NO_COVERAGE 3. ReInit : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_2_rtns.length; i++) |
745 | jj_2_rtns[i] = new JJCalls(); | |
746 | } | |
747 | ||
748 | private Token jj_consume_token(int kind) throws ParseException { | |
749 | Token oldToken; | |
750 |
1
1. jj_consume_token : negated conditional → NO_COVERAGE |
if ((oldToken = token).next != null) |
751 | token = token.next; | |
752 | else | |
753 | token = token.next = token_source.getNextToken(); | |
754 | jj_ntk = -1; | |
755 |
1
1. jj_consume_token : negated conditional → NO_COVERAGE |
if (token.kind == kind) { |
756 |
1
1. jj_consume_token : Replaced integer addition with subtraction → NO_COVERAGE |
jj_gen++; |
757 |
3
1. jj_consume_token : changed conditional boundary → NO_COVERAGE 2. jj_consume_token : Replaced integer addition with subtraction → NO_COVERAGE 3. jj_consume_token : negated conditional → NO_COVERAGE |
if (++jj_gc > 100) { |
758 | jj_gc = 0; | |
759 |
3
1. jj_consume_token : changed conditional boundary → NO_COVERAGE 2. jj_consume_token : Changed increment from 1 to -1 → NO_COVERAGE 3. jj_consume_token : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_2_rtns.length; i++) { |
760 | JJCalls c = jj_2_rtns[i]; | |
761 |
1
1. jj_consume_token : negated conditional → NO_COVERAGE |
while (c != null) { |
762 |
2
1. jj_consume_token : changed conditional boundary → NO_COVERAGE 2. jj_consume_token : negated conditional → NO_COVERAGE |
if (c.gen < jj_gen) |
763 | c.first = null; | |
764 | c = c.next; | |
765 | } | |
766 | } | |
767 | } | |
768 |
1
1. jj_consume_token : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::jj_consume_token to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return token; |
769 | } | |
770 | token = oldToken; | |
771 | jj_kind = kind; | |
772 | throw generateParseException(); | |
773 | } | |
774 | ||
775 | static private final class LookaheadSuccess extends java.lang.Error { | |
776 | private static final long serialVersionUID = -7986896058452164869L; | |
777 | } | |
778 | ||
779 | final private LookaheadSuccess jj_ls = new LookaheadSuccess(); | |
780 | ||
781 | private boolean jj_scan_token(int kind) { | |
782 |
1
1. jj_scan_token : negated conditional → NO_COVERAGE |
if (jj_scanpos == jj_lastpos) { |
783 |
1
1. jj_scan_token : Replaced integer subtraction with addition → NO_COVERAGE |
jj_la--; |
784 |
1
1. jj_scan_token : negated conditional → NO_COVERAGE |
if (jj_scanpos.next == null) { |
785 | jj_lastpos = jj_scanpos = jj_scanpos.next = token_source | |
786 | .getNextToken(); | |
787 | } else { | |
788 | jj_lastpos = jj_scanpos = jj_scanpos.next; | |
789 | } | |
790 | } else { | |
791 | jj_scanpos = jj_scanpos.next; | |
792 | } | |
793 |
1
1. jj_scan_token : negated conditional → NO_COVERAGE |
if (jj_rescan) { |
794 | int i = 0; | |
795 | Token tok = token; | |
796 |
2
1. jj_scan_token : negated conditional → NO_COVERAGE 2. jj_scan_token : negated conditional → NO_COVERAGE |
while (tok != null && tok != jj_scanpos) { |
797 |
1
1. jj_scan_token : Changed increment from 1 to -1 → NO_COVERAGE |
i++; |
798 | tok = tok.next; | |
799 | } | |
800 |
1
1. jj_scan_token : negated conditional → NO_COVERAGE |
if (tok != null) |
801 |
1
1. jj_scan_token : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_add_error_token → NO_COVERAGE |
jj_add_error_token(kind, i); |
802 | } | |
803 |
1
1. jj_scan_token : negated conditional → NO_COVERAGE |
if (jj_scanpos.kind != kind) |
804 |
1
1. jj_scan_token : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
805 |
2
1. jj_scan_token : negated conditional → NO_COVERAGE 2. jj_scan_token : negated conditional → NO_COVERAGE |
if (jj_la == 0 && jj_scanpos == jj_lastpos) |
806 | throw jj_ls; | |
807 |
1
1. jj_scan_token : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
808 | } | |
809 | ||
810 | /** Get the next Token. */ | |
811 | final public Token getNextToken() { | |
812 |
1
1. getNextToken : negated conditional → NO_COVERAGE |
if (token.next != null) |
813 | token = token.next; | |
814 | else | |
815 | token = token.next = token_source.getNextToken(); | |
816 | jj_ntk = -1; | |
817 |
1
1. getNextToken : Replaced integer addition with subtraction → NO_COVERAGE |
jj_gen++; |
818 |
1
1. getNextToken : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::getNextToken to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return token; |
819 | } | |
820 | ||
821 | /** Get the specific Token. */ | |
822 | final public Token getToken(int index) { | |
823 | Token t = token; | |
824 |
3
1. getToken : changed conditional boundary → NO_COVERAGE 2. getToken : Changed increment from 1 to -1 → NO_COVERAGE 3. getToken : negated conditional → NO_COVERAGE |
for (int i = 0; i < index; i++) { |
825 |
1
1. getToken : negated conditional → NO_COVERAGE |
if (t.next != null) |
826 | t = t.next; | |
827 | else | |
828 | t = t.next = token_source.getNextToken(); | |
829 | } | |
830 |
1
1. getToken : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::getToken to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return t; |
831 | } | |
832 | ||
833 | private int jj_ntk() { | |
834 |
1
1. jj_ntk : negated conditional → NO_COVERAGE |
if ((jj_nt = token.next) == null) |
835 |
1
1. jj_ntk : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return (jj_ntk = (token.next = token_source.getNextToken()).kind); |
836 | else | |
837 |
1
1. jj_ntk : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return (jj_ntk = jj_nt.kind); |
838 | } | |
839 | ||
840 | private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); | |
841 | private int[] jj_expentry; | |
842 | private int jj_kind = -1; | |
843 | private int[] jj_lasttokens = new int[100]; | |
844 | private int jj_endpos; | |
845 | ||
846 | private void jj_add_error_token(int kind, int pos) { | |
847 |
2
1. jj_add_error_token : changed conditional boundary → NO_COVERAGE 2. jj_add_error_token : negated conditional → NO_COVERAGE |
if (pos >= 100) |
848 | return; | |
849 |
2
1. jj_add_error_token : Replaced integer addition with subtraction → NO_COVERAGE 2. jj_add_error_token : negated conditional → NO_COVERAGE |
if (pos == jj_endpos + 1) { |
850 |
1
1. jj_add_error_token : Replaced integer addition with subtraction → NO_COVERAGE |
jj_lasttokens[jj_endpos++] = kind; |
851 |
1
1. jj_add_error_token : negated conditional → NO_COVERAGE |
} else if (jj_endpos != 0) { |
852 | jj_expentry = new int[jj_endpos]; | |
853 |
3
1. jj_add_error_token : changed conditional boundary → NO_COVERAGE 2. jj_add_error_token : Changed increment from 1 to -1 → NO_COVERAGE 3. jj_add_error_token : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_endpos; i++) { |
854 | jj_expentry[i] = jj_lasttokens[i]; | |
855 | } | |
856 | jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries | |
857 |
1
1. jj_add_error_token : negated conditional → NO_COVERAGE |
.iterator(); it.hasNext();) { |
858 | int[] oldentry = (int[]) (it.next()); | |
859 |
1
1. jj_add_error_token : negated conditional → NO_COVERAGE |
if (oldentry.length == jj_expentry.length) { |
860 |
3
1. jj_add_error_token : changed conditional boundary → NO_COVERAGE 2. jj_add_error_token : Changed increment from 1 to -1 → NO_COVERAGE 3. jj_add_error_token : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_expentry.length; i++) { |
861 |
1
1. jj_add_error_token : negated conditional → NO_COVERAGE |
if (oldentry[i] != jj_expentry[i]) { |
862 | continue jj_entries_loop; | |
863 | } | |
864 | } | |
865 | jj_expentries.add(jj_expentry); | |
866 | break jj_entries_loop; | |
867 | } | |
868 | } | |
869 |
1
1. jj_add_error_token : negated conditional → NO_COVERAGE |
if (pos != 0) |
870 |
1
1. jj_add_error_token : Replaced integer subtraction with addition → NO_COVERAGE |
jj_lasttokens[(jj_endpos = pos) - 1] = kind; |
871 | } | |
872 | } | |
873 | ||
874 | /** Generate ParseException. */ | |
875 | public ParseException generateParseException() { | |
876 |
1
1. generateParseException : removed call to java/util/List::clear → NO_COVERAGE |
jj_expentries.clear(); |
877 | boolean[] la1tokens = new boolean[28]; | |
878 |
2
1. generateParseException : changed conditional boundary → NO_COVERAGE 2. generateParseException : negated conditional → NO_COVERAGE |
if (jj_kind >= 0) { |
879 | la1tokens[jj_kind] = true; | |
880 | jj_kind = -1; | |
881 | } | |
882 |
3
1. generateParseException : changed conditional boundary → NO_COVERAGE 2. generateParseException : Changed increment from 1 to -1 → NO_COVERAGE 3. generateParseException : negated conditional → NO_COVERAGE |
for (int i = 0; i < 8; i++) { |
883 |
1
1. generateParseException : negated conditional → NO_COVERAGE |
if (jj_la1[i] == jj_gen) { |
884 |
3
1. generateParseException : changed conditional boundary → NO_COVERAGE 2. generateParseException : Changed increment from 1 to -1 → NO_COVERAGE 3. generateParseException : negated conditional → NO_COVERAGE |
for (int j = 0; j < 32; j++) { |
885 |
3
1. generateParseException : Replaced Shift Left with Shift Right → NO_COVERAGE 2. generateParseException : Replaced bitwise AND with OR → NO_COVERAGE 3. generateParseException : negated conditional → NO_COVERAGE |
if ((jj_la1_0[i] & (1 << j)) != 0) { |
886 | la1tokens[j] = true; | |
887 | } | |
888 | } | |
889 | } | |
890 | } | |
891 |
3
1. generateParseException : changed conditional boundary → NO_COVERAGE 2. generateParseException : Changed increment from 1 to -1 → NO_COVERAGE 3. generateParseException : negated conditional → NO_COVERAGE |
for (int i = 0; i < 28; i++) { |
892 |
1
1. generateParseException : negated conditional → NO_COVERAGE |
if (la1tokens[i]) { |
893 | jj_expentry = new int[1]; | |
894 | jj_expentry[0] = i; | |
895 | jj_expentries.add(jj_expentry); | |
896 | } | |
897 | } | |
898 | jj_endpos = 0; | |
899 |
1
1. generateParseException : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_rescan_token → NO_COVERAGE |
jj_rescan_token(); |
900 |
1
1. generateParseException : removed call to org/graphstream/stream/file/tlp/TLPParser::jj_add_error_token → NO_COVERAGE |
jj_add_error_token(0, 0); |
901 | int[][] exptokseq = new int[jj_expentries.size()][]; | |
902 |
3
1. generateParseException : changed conditional boundary → NO_COVERAGE 2. generateParseException : Changed increment from 1 to -1 → NO_COVERAGE 3. generateParseException : negated conditional → NO_COVERAGE |
for (int i = 0; i < jj_expentries.size(); i++) { |
903 | exptokseq[i] = jj_expentries.get(i); | |
904 | } | |
905 |
1
1. generateParseException : mutated return of Object value for org/graphstream/stream/file/tlp/TLPParser::generateParseException to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new ParseException(token, exptokseq, tokenImage); |
906 | } | |
907 | ||
908 | /** Enable tracing. */ | |
909 | final public void enable_tracing() { | |
910 | } | |
911 | ||
912 | /** Disable tracing. */ | |
913 | final public void disable_tracing() { | |
914 | } | |
915 | ||
916 | private void jj_rescan_token() { | |
917 | jj_rescan = true; | |
918 |
3
1. jj_rescan_token : changed conditional boundary → NO_COVERAGE 2. jj_rescan_token : Changed increment from 1 to -1 → NO_COVERAGE 3. jj_rescan_token : negated conditional → NO_COVERAGE |
for (int i = 0; i < 5; i++) { |
919 | try { | |
920 | JJCalls p = jj_2_rtns[i]; | |
921 | do { | |
922 |
2
1. jj_rescan_token : changed conditional boundary → NO_COVERAGE 2. jj_rescan_token : negated conditional → NO_COVERAGE |
if (p.gen > jj_gen) { |
923 | jj_la = p.arg; | |
924 | jj_lastpos = jj_scanpos = p.first; | |
925 | switch (i) { | |
926 | case 0: | |
927 | jj_3_1(); | |
928 | break; | |
929 | case 1: | |
930 | jj_3_2(); | |
931 | break; | |
932 | case 2: | |
933 | jj_3_3(); | |
934 | break; | |
935 | case 3: | |
936 | jj_3_4(); | |
937 | break; | |
938 | case 4: | |
939 | jj_3_5(); | |
940 | break; | |
941 | } | |
942 | } | |
943 | p = p.next; | |
944 |
1
1. jj_rescan_token : negated conditional → NO_COVERAGE |
} while (p != null); |
945 | } catch (LookaheadSuccess ls) { | |
946 | } | |
947 | } | |
948 | jj_rescan = false; | |
949 | } | |
950 | ||
951 | private void jj_save(int index, int xla) { | |
952 | JJCalls p = jj_2_rtns[index]; | |
953 |
2
1. jj_save : changed conditional boundary → NO_COVERAGE 2. jj_save : negated conditional → NO_COVERAGE |
while (p.gen > jj_gen) { |
954 |
1
1. jj_save : negated conditional → NO_COVERAGE |
if (p.next == null) { |
955 | p = p.next = new JJCalls(); | |
956 | break; | |
957 | } | |
958 | p = p.next; | |
959 | } | |
960 |
2
1. jj_save : Replaced integer addition with subtraction → NO_COVERAGE 2. jj_save : Replaced integer subtraction with addition → NO_COVERAGE |
p.gen = jj_gen + xla - jj_la; |
961 | p.first = token; | |
962 | p.arg = xla; | |
963 | } | |
964 | ||
965 | static final class JJCalls { | |
966 | int gen; | |
967 | Token first; | |
968 | int arg; | |
969 | JJCalls next; | |
970 | } | |
971 | ||
972 | } | |
Mutations | ||
96 |
1.1 |
|
104 |
1.1 |
|
111 |
1.1 |
|
112 |
1.1 |
|
128 |
1.1 2.2 |
|
129 |
1.1 2.2 |
|
130 |
1.1 |
|
133 |
1.1 |
|
134 |
1.1 |
|
141 |
1.1 2.2 |
|
142 |
1.1 2.2 |
|
143 |
1.1 |
|
145 |
1.1 |
|
148 |
1.1 |
|
149 |
1.1 |
|
155 |
1.1 2.2 |
|
156 |
1.1 2.2 |
|
157 |
1.1 |
|
159 |
1.1 |
|
166 |
1.1 |
|
177 |
1.1 2.2 |
|
188 |
1.1 |
|
191 |
1.1 |
|
194 |
1.1 |
|
198 |
1.1 |
|
201 |
1.1 |
|
204 |
1.1 |
|
212 |
1.1 |
|
214 |
1.1 |
|
216 |
1.1 |
|
221 |
1.1 |
|
224 |
1.1 |
|
228 |
1.1 |
|
230 |
1.1 |
|
238 |
1.1 |
|
246 |
1.1 |
|
248 |
1.1 |
|
260 |
1.1 |
|
264 |
1.1 |
|
272 |
1.1 |
|
277 |
1.1 |
|
284 |
1.1 |
|
288 |
1.1 |
|
293 |
1.1 |
|
298 |
1.1 |
|
309 |
1.1 |
|
310 |
1.1 |
|
311 |
1.1 |
|
312 |
1.1 |
|
313 |
1.1 |
|
314 |
1.1 |
|
315 |
1.1 |
|
316 |
1.1 |
|
328 |
1.1 |
|
337 |
1.1 |
|
350 |
1.1 |
|
358 |
1.1 |
|
367 |
1.1 |
|
379 |
1.1 |
|
380 |
1.1 |
|
381 |
1.1 |
|
383 |
1.1 |
|
391 |
1.1 |
|
394 |
1.1 |
|
418 |
1.1 |
|
427 |
1.1 |
|
448 |
1.1 |
|
455 |
1.1 |
|
462 |
1.1 2.2 |
|
469 |
1.1 |
|
476 |
1.1 2.2 |
|
478 |
1.1 |
|
480 |
1.1 2.2 3.3 |
|
488 |
1.1 2.2 |
|
490 |
1.1 |
|
492 |
1.1 2.2 3.3 |
|
500 |
1.1 2.2 |
|
502 |
1.1 |
|
504 |
1.1 2.2 3.3 |
|
512 |
1.1 2.2 |
|
514 |
1.1 |
|
516 |
1.1 2.2 3.3 |
|
524 |
1.1 2.2 |
|
526 |
1.1 |
|
528 |
1.1 2.2 3.3 |
|
533 |
1.1 |
|
534 |
1.1 |
|
535 |
1.1 |
|
539 |
1.1 |
|
540 |
1.1 |
|
541 |
1.1 |
|
545 |
1.1 |
|
546 |
1.1 |
|
547 |
1.1 |
|
548 |
1.1 |
|
549 |
1.1 |
|
553 |
1.1 |
|
554 |
1.1 |
|
555 |
1.1 |
|
559 |
1.1 |
|
560 |
1.1 |
|
561 |
1.1 |
|
565 |
1.1 |
|
566 |
1.1 |
|
567 |
1.1 |
|
571 |
1.1 |
|
572 |
1.1 |
|
573 |
1.1 |
|
577 |
1.1 |
|
578 |
1.1 |
|
579 |
1.1 |
|
583 |
1.1 |
|
584 |
1.1 |
|
585 |
1.1 |
|
589 |
1.1 |
|
590 |
1.1 |
|
591 |
1.1 |
|
592 |
1.1 |
|
593 |
1.1 |
|
597 |
1.1 |
|
598 |
1.1 |
|
599 |
1.1 |
|
600 |
1.1 |
|
601 |
1.1 |
|
605 |
1.1 |
|
606 |
1.1 |
|
609 |
1.1 |
|
611 |
1.1 |
|
613 |
1.1 |
|
614 |
1.1 |
|
617 |
1.1 |
|
621 |
1.1 |
|
622 |
1.1 |
|
623 |
1.1 |
|
624 |
1.1 |
|
625 |
1.1 |
|
670 |
1.1 2.2 3.3 |
|
672 |
1.1 2.2 3.3 |
|
678 |
1.1 |
|
684 |
1.1 |
|
688 |
1.1 |
|
692 |
1.1 2.2 3.3 |
|
694 |
1.1 2.2 3.3 |
|
705 |
1.1 2.2 3.3 |
|
707 |
1.1 2.2 3.3 |
|
713 |
1.1 |
|
714 |
1.1 |
|
718 |
1.1 2.2 3.3 |
|
720 |
1.1 2.2 3.3 |
|
730 |
1.1 2.2 3.3 |
|
732 |
1.1 2.2 3.3 |
|
742 |
1.1 2.2 3.3 |
|
744 |
1.1 2.2 3.3 |
|
750 |
1.1 |
|
755 |
1.1 |
|
756 |
1.1 |
|
757 |
1.1 2.2 3.3 |
|
759 |
1.1 2.2 3.3 |
|
761 |
1.1 |
|
762 |
1.1 2.2 |
|
768 |
1.1 |
|
782 |
1.1 |
|
783 |
1.1 |
|
784 |
1.1 |
|
793 |
1.1 |
|
796 |
1.1 2.2 |
|
797 |
1.1 |
|
800 |
1.1 |
|
801 |
1.1 |
|
803 |
1.1 |
|
804 |
1.1 |
|
805 |
1.1 2.2 |
|
807 |
1.1 |
|
812 |
1.1 |
|
817 |
1.1 |
|
818 |
1.1 |
|
824 |
1.1 2.2 3.3 |
|
825 |
1.1 |
|
830 |
1.1 |
|
834 |
1.1 |
|
835 |
1.1 |
|
837 |
1.1 |
|
847 |
1.1 2.2 |
|
849 |
1.1 2.2 |
|
850 |
1.1 |
|
851 |
1.1 |
|
853 |
1.1 2.2 3.3 |
|
857 |
1.1 |
|
859 |
1.1 |
|
860 |
1.1 2.2 3.3 |
|
861 |
1.1 |
|
869 |
1.1 |
|
870 |
1.1 |
|
876 |
1.1 |
|
878 |
1.1 2.2 |
|
882 |
1.1 2.2 3.3 |
|
883 |
1.1 |
|
884 |
1.1 2.2 3.3 |
|
885 |
1.1 2.2 3.3 |
|
891 |
1.1 2.2 3.3 |
|
892 |
1.1 |
|
899 |
1.1 |
|
900 |
1.1 |
|
902 |
1.1 2.2 3.3 |
|
905 |
1.1 |
|
918 |
1.1 2.2 3.3 |
|
922 |
1.1 2.2 |
|
944 |
1.1 |
|
953 |
1.1 2.2 |
|
954 |
1.1 |
|
960 |
1.1 2.2 |