Clover coverage report - XJavaDoc - 1.1 Coverage timestamp: Sun Oct 3 2004 19:56:54 BST FRAMES NO FRAMES |
file stats: | LOC: | 124 |  | Methods: | 12
| NCLOC: | 81 |  | Classes: | 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
Source file | Conditionals | Statements | Methods | TOTAL
JJTNodeParserState.java | 40% | 60.5% | 58.3% | 56.9% |

1 |  |
     /* Generated By:JJTree: Do not edit this line. C:/Development/xjavadoc-1.1/target/src/xjavadoc\JJTNodeParserState.java */
2 |  |
3 |  |
     package xjavadoc;
4 |  |
5 |  |
     class JJTNodeParserState {
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 | 12 |
       JJTNodeParserState() {
14 | 12 |
         nodes = new java.util.Stack();
15 | 12 |
         marks = new java.util.Stack();
16 | 12 |
         sp = 0;
17 | 12 |
         mk = 0;
18 |  |
       }
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 | 0 |
       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 | 12 |
       void reset() {
30 | 12 |
         nodes.removeAllElements();
31 | 12 |
         marks.removeAllElements();
32 | 12 |
         sp = 0;
33 | 12 |
         mk = 0;
34 |  |
       }
35 |  |
36 |  |
       /* Returns the root node of the AST.  It only makes sense to call
37 |  |
          this after a successful parse. */
38 | 0 |
       Node rootNode() {
39 | 0 |
         return (Node)nodes.elementAt(0);
40 |  |
       }
41 |  |
42 |  |
       /* Pushes a node on to the stack. */
43 | 5000 |
       void pushNode(Node n) {
44 | 5000 |
         nodes.push(n);
45 | 5000 |
         ++sp;
46 |  |
       }
47 |  |
48 |  |
       /* Returns the node on the top of the stack, and remove it from the
49 |  |
          stack.  */
50 | 4988 |
       Node popNode() {
51 | 4988 |
         if (--sp < mk) {
52 | 0 |
           mk = ((Integer)marks.pop()).intValue();
53 |  |
         }
54 | 4988 |
         return (Node)nodes.pop();
55 |  |
       }
56 |  |
57 |  |
       /* Returns the node currently on the top of the stack. */
58 | 0 |
       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 | 5000 |
       int nodeArity() {
65 | 5000 |
         return sp - mk;
66 |  |
       }
67 |  |
68 |  |
69 | 0 |
       void clearNodeScope(Node n) {
70 | 0 |
         while (sp > mk) {
71 | 0 |
           popNode();
72 |  |
         }
73 | 0 |
         mk = ((Integer)marks.pop()).intValue();
74 |  |
       }
75 |  |
76 |  |
77 | 5000 |
       void openNodeScope(Node n) {
78 | 5000 |
         marks.push(new Integer(mk));
79 | 5000 |
         mk = sp;
80 | 5000 |
         n.jjtOpen();
81 |  |
       }
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 | 0 |
       void closeNodeScope(Node n, int num) {
89 | 0 |
         mk = ((Integer)marks.pop()).intValue();
90 | 0 |
         while (num-- > 0) {
91 | 0 |
           Node c = popNode();
92 | 0 |
           c.jjtSetParent(n);
93 | 0 |
           n.jjtAddChild(c, num);
94 |  |
         }
95 | 0 |
         n.jjtClose();
96 | 0 |
         pushNode(n);
97 | 0 |
         node_created = true;
98 |  |
       }
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 | 5000 |
       void closeNodeScope(Node n, boolean condition) {
107 | 5000 |
         if (condition) {
108 | 5000 |
           int a = nodeArity();
109 | 5000 |
           mk = ((Integer)marks.pop()).intValue();
110 | 5000 |
           while (a-- > 0) {
111 | 4988 |
         Node c = popNode();
112 | 4988 |
         c.jjtSetParent(n);
113 | 4988 |
         n.jjtAddChild(c, a);
114 |  |
           }
115 | 5000 |
           n.jjtClose();
116 | 5000 |
           pushNode(n);
117 | 5000 |
           node_created = true;
118 |  |
         } else {
119 | 0 |
           mk = ((Integer)marks.pop()).intValue();
120 | 0 |
           node_created = false;
121 |  |
         }
122 |  |
       }
123 |  |
     }
124 |  |