Clover icon

Coverage Report

  1. Project Clover database Thu Aug 13 2020 12:04:21 BST
  2. Package com.stevesoft.pat

File Bracket.java

 

Coverage histogram

../../../img/srcFileCovDistChart8.png
20% of files have more coverage

Code metrics

8
23
9
1
89
68
16
0.7
2.56
9
1.78

Classes

Class Line # Actions
Bracket 16 23 16
0.7575%
 

Contributing tests

This file is covered by 30 tests. .

Source view

1    //
2    // This software is now distributed according to
3    // the Lesser Gnu Public License. Please see
4    // http://www.gnu.org/copyleft/lesser.txt for
5    // the details.
6    // -- Happy Computing!
7    //
8    package com.stevesoft.pat;
9   
10    import java.util.Hashtable;
11    import java.util.Vector;
12   
13    /**
14    * The Bracket is a form of the Or class, implements the pattern element [ ].
15    */
 
16    class Bracket extends Or
17    {
18    boolean neg;
19   
 
20  4028 toggle Bracket(boolean n)
21    {
22  4028 neg = n;
23    }
24   
 
25  0 toggle String leftForm()
26    {
27  0 if (neg)
28    {
29  0 return "[^";
30    }
31    else
32    {
33  0 return "[";
34    }
35    }
36   
 
37  0 toggle String rightForm()
38    {
39  0 return "]";
40    }
41   
 
42  0 toggle String sepForm()
43    {
44  0 return "";
45    }
46   
 
47  31540 toggle public int matchInternal(int pos, Pthings pt)
48    {
49  31540 if (pos >= pt.src.length())
50    {
51  2906 return -1;
52    }
53  28634 int r = super.matchInternal(pos, pt);
54  28634 if ((neg && r < 0) || (!neg && r >= 0))
55    {
56  13368 return nextMatch(pos + 1, pt);
57    }
58  15266 return -1;
59    }
60   
 
61  3132 toggle public patInt minChars()
62    {
63  3132 return new patInt(1);
64    }
65   
 
66  302 toggle public patInt maxChars()
67    {
68  302 return new patInt(1);
69    }
70   
 
71  8925 toggle public Or addOr(Pattern p)
72    {
73  8925 pv = null;
74  8925 v.addElement(p);
75  8925 p.setParent(null);
76  8925 return this;
77    }
78   
 
79  1127 toggle public Pattern clone1(Hashtable h)
80    {
81  1127 Bracket b = new Bracket(neg);
82  1127 b.v = new Vector();
83  4186 for (int i = 0; i < v.size(); i++)
84    {
85  3059 b.v.addElement(((Pattern) v.elementAt(i)).clone1(h));
86    }
87  1127 return b;
88    }
89    };