Clover icon

Coverage Report

  1. Project Clover database Fri Dec 6 2024 13:47:14 GMT
  2. Package com.stevesoft.pat

File Bracket.java

 

Coverage histogram

../../../img/srcFileCovDistChart8.png
21% 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 84 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  5689 toggle Bracket(boolean n)
21    {
22  5689 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  55754 toggle public int matchInternal(int pos, Pthings pt)
48    {
49  55754 if (pos >= pt.src.length())
50    {
51  4945 return -1;
52    }
53  50809 int r = super.matchInternal(pos, pt);
54  50809 if ((neg && r < 0) || (!neg && r >= 0))
55    {
56  25599 return nextMatch(pos + 1, pt);
57    }
58  25210 return -1;
59    }
60   
 
61  4617 toggle public patInt minChars()
62    {
63  4617 return new patInt(1);
64    }
65   
 
66  327 toggle public patInt maxChars()
67    {
68  327 return new patInt(1);
69    }
70   
 
71  13154 toggle public Or addOr(Pattern p)
72    {
73  13154 pv = null;
74  13154 v.addElement(p);
75  13154 p.setParent(null);
76  13154 return this;
77    }
78   
 
79  1372 toggle public Pattern clone1(Hashtable h)
80    {
81  1372 Bracket b = new Bracket(neg);
82  1372 b.v = new Vector();
83  5096 for (int i = 0; i < v.size(); i++)
84    {
85  3724 b.v.addElement(((Pattern) v.elementAt(i)).clone1(h));
86    }
87  1372 return b;
88    }
89    };