Coverage report

| %line | %branch
--- | --- | ---
org.apache.commons.jexl.parser.JJTParserState |
86% |
93% |

1 |  |
     /* Generated By:JJTree: Do not edit this line. JJTParserState.java */
2 |  |
3 |  |
     package org.apache.commons.jexl.parser;
4 |  |
5 |  |
     class JJTParserState {
6 |  |
       private java.util.Stack nodes;
7 |  |
       private java.util.Stack marks;
8 |  |
9 |  |
       private int sp;		// number of nodes on stack
10 |  |
       private int mk;		// current mark
11 |  |
       private boolean node_created;
12 |  |
13 | 75 |
       JJTParserState() {
14 | 75 |
         nodes = new java.util.Stack();
15 | 75 |
         marks = new java.util.Stack();
16 | 75 |
         sp = 0;
17 | 75 |
         mk = 0;
18 | 75 |
       }
19 |  |
20 |  |
       /* Determines whether the current node was actually closed and
21 |  |
          pushed.  This should only be called in the final user action of a
22 |  |
          node scope.  */
23 |  |
       boolean nodeCreated() {
24 | 0 |
         return node_created;
25 |  |
       }
26 |  |
27 |  |
       /* Call this to reinitialize the node stack.  It is called
28 |  |
          automatically by the parser's ReInit() method. */
29 |  |
       void reset() {
30 | 2808 |
         nodes.removeAllElements();
31 | 2808 |
         marks.removeAllElements();
32 | 2808 |
         sp = 0;
33 | 2808 |
         mk = 0;
34 | 2808 |
       }
35 |  |
36 |  |
       /* Returns the root node of the AST.  It only makes sense to call
37 |  |
          this after a successful parse. */
38 |  |
       Node rootNode() {
39 | 0 |
         return (Node)nodes.elementAt(0);
40 |  |
       }
41 |  |
42 |  |
       /* Pushes a node on to the stack. */
43 |  |
       void pushNode(Node n) {
44 | 20910 |
         nodes.push(n);
45 | 20910 |
         ++sp;
46 | 20910 |
       }
47 |  |
48 |  |
       /* Returns the node on the top of the stack, and remove it from the
49 |  |
          stack.  */
50 |  |
       Node popNode() {
51 | 18117 |
         if (--sp < mk) {
52 | 0 |
           mk = ((Integer)marks.pop()).intValue();
53 |  |
         }
54 | 18117 |
         return (Node)nodes.pop();
55 |  |
       }
56 |  |
57 |  |
       /* Returns the node currently on the top of the stack. */
58 |  |
       Node peekNode() {
59 | 0 |
         return (Node)nodes.peek();
60 |  |
       }
61 |  |
62 |  |
       /* Returns the number of children on the stack in the current node
63 |  |
          scope. */
64 |  |
       int nodeArity() {
65 | 18750 |
         return sp - mk;
66 |  |
       }
67 |  |
68 |  |
69 |  |
       void clearNodeScope(Node n) {
70 | 130 |
         while (sp > mk) {
71 | 0 |
           popNode();
72 |  |
         }
73 | 75 |
         mk = ((Integer)marks.pop()).intValue();
74 | 75 |
       }
75 |  |
76 |  |
77 |  |
       void openNodeScope(Node n) {
78 | 20985 |
         marks.push(new Integer(mk));
79 | 20985 |
         mk = sp;
80 | 20985 |
         n.jjtOpen();
81 | 20985 |
       }
82 |  |
83 |  |
84 |  |
       /* A definite node is constructed from a specified number of
85 |  |
          children.  That number of nodes are popped from the stack and
86 |  |
          made the children of the definite node.  Then the definite node
87 |  |
          is pushed on to the stack. */
88 |  |
       void closeNodeScope(Node n, int num) {
89 | 2160 |
         mk = ((Integer)marks.pop()).intValue();
90 | 7820 |
         while (num-- > 0) {
91 | 4083 |
           Node c = popNode();
92 | 4083 |
           c.jjtSetParent(n);
93 | 4083 |
           n.jjtAddChild(c, num);
94 |  |
         }
95 | 2160 |
         n.jjtClose();
96 | 2160 |
         pushNode(n);
97 | 2160 |
         node_created = true;
98 | 2160 |
       }
99 |  |
100 |  |
101 |  |
       /* A conditional node is constructed if its condition is true.  All
102 |  |
          the nodes that have been pushed since the node was opened are
103 |  |
          made children of the the conditional node, which is then pushed
104 |  |
          on to the stack.  If the condition is false the node is not
105 |  |
          constructed and they are left on the stack. */
106 |  |
       void closeNodeScope(Node n, boolean condition) {
107 | 18750 |
         if (condition) {
108 | 18750 |
           int a = nodeArity();
109 | 18750 |
           mk = ((Integer)marks.pop()).intValue();
110 | 46457 |
           while (a-- > 0) {
111 | 14034 |
     	Node c = popNode();
112 | 14034 |
     	c.jjtSetParent(n);
113 | 14034 |
     	n.jjtAddChild(c, a);
114 |  |
           }
115 | 18750 |
           n.jjtClose();
116 | 18750 |
           pushNode(n);
117 | 18750 |
           node_created = true;
118 |  |
         } else {
119 | 0 |
           mk = ((Integer)marks.pop()).intValue();
120 | 0 |
           node_created = false;
121 |  |
         }
122 | 18750 |
       }
123 |  |
     }

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