Clover icon

Coverage Report

  1. Project Clover database Thu Nov 7 2024 17:01:39 GMT
  2. Package com.stevesoft.pat

File Bracket.java

 

Coverage histogram

../../../img/srcFileCovDistChart0.png
0% 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.00%
 

Contributing tests

No tests hitting this source file were found.

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